NPL
Neurological Programs and Libraries
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123]
 Nnpl
 CArmijoImplementation of Armijo approximate line search algorithm
 CBFGSOpt
 CBSplineViewThis is a specialized viewer for computing the value of a cubic B-Spline interpolation from the parameters. Thus the input to the constructor or setArray must be a parameter image
 CBytes
 Ccdouble_t
 Ccfloat_t
 CChunkConstIterConstant iterator for NDArray. This is slightly different from order iterator in that the ROI may be broken down into chunks. When the end of a chunk is reached, no more iteration can be performed until nextChunk() is called. isEnd() will return false until nextChunk() is called while the current chunk is at the last available. Note that if setBreaks uses an array that is smaller than input dimension, then the whole of the dimension will be used
 CChunkIterThis class is used to iterate through an N-Dimensional array
 CChunkSlicerThis class is used to step through an ND array in order of dimensions, but unlike Slicer it breaks the NDArray into chunks. Iteration stops at the end of each chunk until nextChunk is called. By default only one chunk is used, equal to the entire image. Use setBreaks() to set the frequency of chunks. The input to setBreaks() is an array of integers, where the next chunk occurs when distbreak == 0, with the special property that break=0 indicates no breaks for the dimension. So for a 3D image, setBreaks({1,0,0}) will stop every time a new x-values is reached. Note that the affects the order of iteration, so x cannot be the fastest iterator. setChunkSize() is an alias for setBreaks. Note that in cases where breaksize != 0, for example image size = 5 and break = 3, chunk sizes will differ during the course of iteration!
 CClassifierBase class for all ND classifiers
 CCounterVery basic counter that iterates over an ND region
 Ccquad_t
 CDistCorrInfoCompThe distortion correction MI Computer is used to compute the mutual information and gradient of mutual information between two images using nonrigid, unidirectional, B-spline transform
 CExpMaxExpectation Maximization With Gaussian Mixture Model
 CFlatConstIterFlat iterator iterator for NDArray. No information is kept about the current index. Just goes through all data. This casts the output to the type specified using T
 CFlatIterFlat iterator for NDArray. No information is kept about the current ND index. Just goes through all data. This casts the output to the type specified using T
 CGradientOpt
 CGraph
 CKDTree
 CKDTreeNode
 CKernelIterIterator for an image, that allows for easy access to the neighbors of the current element/pixel. Neighbors can be accessed through offset(i) which simply provides the value of the i'th neighbor. To get that neighbors index you can use it.offset_index(i). For the center use it.center()/it.center_index(). [] may also be used in place of offset. To get the number of neighbors in the kernel use ksize(), so it.offset(0), it.offset(1), ..., it.offset(ksize()-1) are valid calls
 CKMeansK-means classifier
 CKSlicerThis class is used to slice an image in along a dimension, and to step an arbitrary direction in an image. Order may be any size from 0 to the number of dimensions. The first member of order will be the fastest moving, and the last will be the slowest. Any not dimensions not included in the order vector will be slower than the last member of order
 CLanczosInterp3DViewThe purpose of this class is to view an image as a continuous 3D+vector dimension image rather than a 4+D image. Therefore all dimensions above the third are cast as a vector and interpolation is only performed between 3D points, with the 4th dimension assumed to be non-spatial. The would be applicable if the upper dimensions are of a different type than the first 3
 CLanczosInterpNDViewThe purpose of this class is to view an image as a continuous 3D+vector dimension image rather than a 4+D image. Therefore all dimensions above the third are cast as a vector and interpolation is only performed between 3D points, with the 4th dimension assumed to be non-spatial. The would be applicable if the upper dimensions are of a different type than the first 3
 CLBFGSOptLimited-Memory Broyden–Fletcher–Goldfarb–Shanno Algorithm based on "A Limited Memory Algorithm for Bound Constrained Optimization" Richard H. Byrd, Peihuang Lu, Jorge Nocedal, and Ciyou Zhu http://dx.doi.org/10.1137/0916069
 CLinInterp3DViewThe purpose of this class is to view an image as a continuous 3D+vector dimension image rather than a 4+D image. Therefore all dimensions above the third are cast as a vector and interpolation is only performed between 3D points, with the 4th dimension assumed to be non-spatial. The would be applicable if the upper dimensions are of a different type than the first 3
 CLinInterpNDViewThe purpose of this class is to view an image as a continuous ND image and to sample at a continuous ND-position within
 CMatMap
 CMatrix
 CMatrixP
 CMatrixReorgReorganizes input images into tall and wide matrices (matrices that span the total rows and cols, respectively)
 CMemMapMemory map class. The basic gyst is that this works like a malloc except that data may be initialized by file contents or left empty. This is useful for matrix manipulation where files need to be opened and closed a good bit
 CMRImageMRImage can basically be used like an NDArray, with the addition of orientation related additions
 CMRImageStoreMRImageStore is a version of NDArray that has an orientation matrix. Right now it also has additional data that is unique to nifti. Eventually this class will be forked into a subclass, and this will only have the orientation
 CNDArrayPure virtual interface to interact with an ND array
 CNDArrayStoreBasic storage unity for ND array. Creates a big chunk of memory
 CNDConstIterConstant iterator for NDArray. Typical usage calls for NDConstIter it(array); it++; *it
 CNDConstViewThis is a basic accessor class, which allows for accessing array data in the type specified by the template
 CNDIterThis class is used to iterate through an N-Dimensional array
 CNDViewThis is a basic accessor class, which allows for accessing array data in the type specified by the template
 CNNInterp3DViewThe purpose of this class is to view an image as a continuous 3D+vector dimension image rather than a 4+D image. Therefore all dimensions above the third are cast as a vector and interpolation is only performed between 3D points, with the 4th dimension assumed to be non-spatial. The would be applicable if the upper dimensions are of a different type than the first 3
 CNNInterpNDViewGeneral purpose Nearest-Neighbor interpolator
 COptimizer
 CPixel3DViewThe purpose of this class is to view an image as a 3D image rather than a ND image. Therefore all dimensions above the third will be ignored and index 0 will be used
 CPlotterClass for creating basic plots of arrays or functions. An example might be:
 CStyleT
 CProbDistCorrInfoCompThe distortion correction MI Computer is used to compute the mutual information and gradient of mutual information between two images using nonrigid, unidirectional, B-spline transform. In this variant the moving image should be a probability map
 CRegrResult
 Crgb_t
 Crgba_t
 CRigid3DTransStruct for holding information about a rigid transform. Note that rotation R = Rx*Ry*Rz, where Rx, Ry, and Rz are the rotations about x, y and z aaxes, and the angles are stored (in radians) in the rotation member
 CRigidCorrCompThe Rigid Corr Computer is used to compute the correlation and gradient of correlation between two images. As the name implies, it is designed for 6 parameter rigid transforms
 CRigidInfoCompThe Rigid MI Computer is used to compute the mutual information and gradient of mutual information between two images. As the name implies, it is designed for 6 parameter rigid transforms
 CSlicerThis class is used to step through an ND array in order of dimensions. Order may be any size from 0 to the number of dimensions. The first member of order will be the fastest moving, and the last will be the slowest. Any not dimensions not included in the order vector will be slower than the last member of order
 CStudentsTStudent's T-distribution. A cache of the Probability Density Function and cumulative density function is created using the analytical PDF
 CVector3DConstIterThis class is used to iterate through an 3D array, where each point then has has multiple higher dimensional variable. This is analogous to Vector3DView, where even if there are multiple higher dimensions they are all alligned into a single vector at each 3D point. This makes them easier to than simple iteration in N-dimensions. This is the constant version
 CVector3DConstViewThe purpose of this class is to view an image as a 3D+vector dimension image rather than a 4+D image. Therefore all dimensions above the third are cast as a vector. If there is demand I may create a matrixx verion as well
 CVector3DIterThis class is used to iterate through an 3D array, where each point then has has multiple higher dimensional variable. This is analogous to Vector3DView, where even if there are multiple higher dimensions they are all alligned into a single vector at each 3D point. This makes them easier to than simple iteration in N-dimensions
 CVector3DViewThe purpose of this class is to view an image as a 3D+vector dimension image rather than a 4+D image. Therefore all dimensions above the third are cast as a vector. If there is demand I may create a matrixx verion as well
 CWolfeImplementation of Armijo approximate line search algorithm
 CDftHead
 CTrkHead