Classes | Namespaces | Defines | Typedefs | Enumerations | Enumerator | Functions | Variables | Friends

cmtkBase Library

This library provides classes for basic objects, such as volumes, transformations, vectors, functionals, and meta information. More...

Collaboration diagram for cmtkBase Library:

Classes

class  cmtk::ActiveDeformationModel< W >
 Active deformation model. More...
class  cmtk::ActiveShapeModel
 Class for a three-dimensional active shape model. More...
class  cmtk::AffineXform
 3D affine transformation. More...
class  cmtk::AffineXformUniformVolume
 Pre-compute transformation for grid locations in a uniform volume. More...
class  cmtk::AnatomicalOrientation
 Class with helper functions for handling anatomical image orientation. More...
class  cmtk::AnatomicalOrientationBase
 Base class for handling anatomical image orientation. More...
class  cmtk::BitVector
 Set of binary values. More...
class  cmtk::ControlPoint
 Class for control points in WarpXform and derived classes. More...
class  cmtk::ControlPointList
 List of several warp control points. More...
class  cmtk::CubicSpline
 Class computing cubic splines. More...
class  cmtk::DataGrid
 Grid topology of data arranged in a 3D lattice. More...
class  cmtk::DataGridFilter
 Filter operations for data on 3D grids. More...
class  cmtk::DataGridFilter::FilterThreadParameters
 Thread parameter for entropy evaluation. More...
class  cmtk::DataGridMorphologicalOperators
 Grid topology of data arranged in a 3D lattice. More...
class  cmtk::DataTypeTraits< TType >
 Data type traits. More...
class  cmtk::DataTypeTraits< float >
 Data type traits for single-precision floating point. More...
class  cmtk::DataTypeTraits< double >
 Data type traits for double-precision floating point. More...
class  cmtk::DataTypeTraits< byte >
 Data type traits for unsigned char (byte). More...
class  cmtk::DataTypeTraits< char >
 Data type traits for signed char. More...
class  cmtk::DataTypeTraits< signed short >
 Data type traits for signed short. More...
class  cmtk::DataTypeTraits< unsigned short >
 Data type traits for unsigned short. More...
class  cmtk::DataTypeTraits< int >
 Data type traits for unsigned short. More...
class  cmtk::DeformationField
 Class for pixel-wise deformation field. More...
class  cmtk::DirectionSet
 A set of directions in n-dimensional space. More...
class  cmtk::EigenSystemSymmetricMatrix3x3< TFloat >
 Compute the eigenvectors and eigenvalues of a symmetric 3x3 matrix. More...
class  cmtk::FilterMaskPixel< DIM >
 Filter mask pixel entry. More...
class  cmtk::FilterMask< DIM >
 Filter mask. More...
class  cmtk::FilterMask< DIM >::Gaussian
 Gaussian filter as an example of a concrete filter implementation. More...
class  cmtk::FilterVolume
 Class for filtering volume images. More...
class  cmtk::Functional
 Class defining a real-valued functional on a multi-dimensional domain. More...
class  cmtk::GeneralLinearModel
 Pixelwise linear modeling and t statistics of data. More...
class  cmtk::Histogram< T >
 Histogram of a distribution with bins of arbitrary types. More...
class  cmtk::HistogramBase
 Common (non-template) base class for all 1-D histograms. More...
class  cmtk::ImageInterpolator< TImageType, TInterpolationFunction >
 Class template for kernel-based volume interpolators. More...
class  cmtk::ImageTemplate< TPixelType >
 Uniform volume template. More...
class  cmtk::Intersection
 Utility Class for Intersection Computation. More...
class  cmtk::JointHistogram< T >
 Joint histogram of two distributions. More...
class  cmtk::JointHistogramBase
 Basic (non-template) 2-D histogram functions. More...
class  cmtk::Landmark
 Coordinates of an (anatomical) landmark. More...
class  cmtk::LandmarkList
 List of landmarks in 3-D. More...
class  cmtk::LogHistogram< T >
 Histogram of log intensities. More...
class  cmtk::MatchedLandmark
 Matched landmark (landmark with source and target location). More...
class  cmtk::MatchedLandmarkList
 List of matched landmarks in 3-D. More...
class  cmtk::MathUtil
 General-purpose mathematical functions and function templates. More...
class  cmtk::Matrix< TElement, NDim >
 Rekursive matrix template. More...
class  cmtk::Matrix< TElement, 1 >
class  cmtk::Matrix2D< T >
 Two-dimensional matrix template. More...
class  cmtk::Matrix3D< T >
 Three-dimensional matrix template. More...
class  cmtk::Matrix3x3< T >
 Homogeneous 3x3 transformation matrix. More...
class  cmtk::Matrix4x4< T >
 Homogeneous 4x4 transformation matrix. More...
class  cmtk::MetaInformationObject
 Meta-information associated with library objects. More...
class  cmtk::NumericTraits< TType >
 Base class for numeric traits definition for primitive data types.. More...
class  cmtk::NumericTraits< char >
class  cmtk::NumericTraits< unsigned char >
class  cmtk::NumericTraits< short >
class  cmtk::ParametricPlane
 Class for parameterized infinite planes. More...
class  cmtk::Polynomial< NDegree, TRealType >
 Generic class template for polynomials of arbitrary degrees. More...
class  cmtk::Polynomial< 0, TRealType >
 Generic class template for polynomials of degree 1. More...
class  cmtk::Polynomial< 1, TRealType >
 Generic class template for polynomials of degree 1. More...
class  cmtk::Polynomial< 2, TRealType >
 Generic class template for polynomials of degree 2. More...
class  cmtk::Polynomial< 3, TRealType >
 Generic class template for polynomials of degree 3. More...
class  cmtk::Polynomial< 4, TRealType >
 Generic class template for polynomials of degree 4. More...
class  cmtk::ProbeInfo
 Information on volume node data. More...
class  cmtk::QRDecomposition< TFloat >
 Compute the QRDecomposition of a matrix. More...
class  cmtk::ScalarImage
 Two-dimensional image with scalar pixel values. More...
class  cmtk::SegmentationLabel
 A label (class) in a segmentation. More...
class  cmtk::SplineWarpXform
 B-spline-based local deformation. More...
struct  cmtk::SplineWarpXform::JacobianConstraintThreadInfo
 Thread parameter block for volume resampling. More...
class  cmtk::SplineWarpXformUniformVolume
 Pre-compute transformation for grid locations in a uniform volume. More...
class  cmtk::SurfaceNormal
 Class that computes the surface normal. More...
class  cmtk::TemplateArray< T >
 Template for Variable-Typed Data Arrays. More...
class  cmtk::TransformChangeFromSpaceAffine
 Compute affine coordinate transformation in standard space from transformation in natrive reference and floating image coordinate spaces. More...
class  cmtk::TransformChangeToSpaceAffine
 Compute affine coordinate transformation between native spaces of reference and floating images. More...
class  cmtk::TransformedVolumeAxes
 Class that represents pre-transformed axes samples for 3D volumes. More...
class  cmtk::TypedArray
 Generic Variable-Typed Data Array. More...
class  cmtk::TypedArrayFunction
 Base class for lookup classes. More...
class  cmtk::TypedArrayFunctionHistogramEqualization
 Lookup class for histogram equalization. More...
class  cmtk::TypedArrayFunctionHistogramMatching
 Lookup class for histogram intensity matching. More...
class  cmtk::UniformDistanceMap< TDistanceDataType >
 Distance map on a uniform grid. More...
class  cmtk::UniformVolume
 Uniform volume. More...
class  cmtk::UniformVolumeFilter
 Filter operations for 3D uniform image data. More...
class  cmtk::UniformVolumeInterpolator< TInterpolationFunction >
 Class template for kernel-based volume interpolators. More...
class  cmtk::UniformVolumeInterpolatorBase
 Base class for kernel-based uniform volume. More...
class  cmtk::UniformVolumeInterpolatorPartialVolume
 Partial-volume interpolation class. More...
class  cmtk::UniformVolumePainter
 Class for painting in uniform volume objects. More...
class  cmtk::UnionFind< T >
 Class template for (relatively) efficient union-find algorithm. More...
class  cmtk::ValueSequence< T >
 Class for computing characteristic values of number sequences. More...
class  cmtk::Vector< T >
 Numerical vector class. More...
class  cmtk::Volume
 General 3D volume. More...
class  cmtk::VolumeClipping
 Utility class for volume clipping. More...
class  cmtk::VolumeGridToGridLookup
 Class for grid to grid lookup tables. More...
class  cmtk::WarpXform
 Common base class for free-form-deformation-based warps. More...
class  cmtk::Xform
 General 3D coordinate transformation. More...
class  cmtk::XformList
 A transformation list. More...
class  cmtk::XformListEntry
 An entry in a transformation sequence. More...
class  cmtk::XformUniformVolume
 Pre-compute transformation for grid locations in a uniform volume. More...

Namespaces

namespace  cmtk::Accumulators
 

Helper classes that project a series of values into a single value.


namespace  cmtk::Interpolators
 

Interpolation kernels to be used with UniformVolumeInterpolator.


namespace  cmtk
namespace  cmtk::MathUtil
namespace  cmtk::Types
 

Define float type used for coordinates.


namespace  cmtk::Units
 

Classes for type-safe values with physical units, and automatic conversions between them.


Defines

#define TOL   1.0e-5
#define CMTK_SCALARIMAGE_NOCLONEDATA   false
#define CMTK_SCALARIMAGE_CLONEDATA   true
#define CMTK_SCALARIMAGE_HORIZONTAL   true
#define CMTK_SCALARIMAGE_VERTICAL   false
#define CMTK_SCALARIMAGE_ABSOLUTE   true
#define CMTK_SCALARIMAGE_SIGNED   false
#define CMTK_ITEM_MAX   DBL_MAX
#define CMTK_ITEM_MIN   DBL_MIN
#define CMTK_ITEM_NAN   CMTK_DOUBLE_NAN

Typedefs

typedef ActiveDeformationModel
< SplineWarpXform > 
cmtk::SplineActiveDeformationModel
 Spline warp active deformation model.
typedef SmartPointer< Self > cmtk::FilterMaskPixel::SmartPtr
 Smart pointer.
typedef std::vector
< FilterMaskPixel< DIM > > 
cmtk::FilterMask::Superclass
 Direct parent class.
typedef SmartPointer< Self > cmtk::FilterMask::SmartPtr
 Smert pointer to this class.
typedef Matrix3x3
< Types::Coordinate > 
cmtk::CoordinateMatrix3x3
 Define coordinate matrix.
typedef std::map< int,
SegmentationLabel > 
cmtk::SegmentationLabelMap
 Map from numerical IDs to labels.
typedef WarpXform cmtk::SplineWarpXform::Superclass
 Parent class.
typedef SmartPointer< Self > cmtk::SplineWarpXform::SmartPtr
 Smart pointer to SplineWarpXform.
typedef SmartConstPointer< Self > cmtk::SplineWarpXform::SmartConstPtr
 Smart pointer to const SplineWarpXform.
typedef Vector< Types::Coordinate > cmtk::CoordinateVector
 Shortcut definition.
typedef Vector< float > cmtk::FloatVector
 Shortcut definition.
typedef FixedVector
< 3, Types::Coordinate > 
cmtk::Vector3D
 Convenience typedef: vectors in 3D coordinate space.

Enumerations

enum  { cmtk::AXIS_X = 0, cmtk::AXIS_Y = 1, cmtk::AXIS_Z = 2 }
 

Identifiers for coordinate axes.

More...
enum  cmtk::DataClass { cmtk::DATACLASS_GREY, cmtk::DATACLASS_LABEL, cmtk::DATACLASS_UNKNOWN }
 

Class of image data.

More...
enum  cmtk::ScalarDataType {
  cmtk::TYPE_BYTE = 0, cmtk::TYPE_CHAR = 1, cmtk::TYPE_SHORT = 2, cmtk::TYPE_USHORT = 3,
  cmtk::TYPE_INT = 4, cmtk::TYPE_UINT = 5, cmtk::TYPE_FLOAT = 6, cmtk::TYPE_DOUBLE = 7,
  cmtk::TYPE_NONE = -1
}
 

Scalar data type identifiers.

More...

Functions

void cmtk::Accumulators::Avg::Reset ()
 Reset.
void cmtk::Accumulators::Avg::AddValue (const TDataType &value)
 Add a value.
const TDataType cmtk::Accumulators::Avg::GetResult () const
 Retrive accumulated result.
void cmtk::Accumulators::Max::Reset ()
 Reset.
void cmtk::Accumulators::Max::AddValue (const TDataType &value)
 Add a value.
const TDataType cmtk::Accumulators::Max::GetResult () const
 Retrive accumulated result.
void cmtk::Accumulators::Sum::Reset ()
 Reset.
void cmtk::Accumulators::Sum::AddValue (const TDataType &value)
 Add a value.
const TDataType & cmtk::Accumulators::Sum::GetResult () const
 Retrive accumulated result.
static Types::Coordinate cmtk::CubicSpline::ApproxSpline1 (const Types::Coordinate t)
 Compute a value of the 1st approximating spline function.
static Types::Coordinate cmtk::CubicSpline::ApproxSpline2 (const Types::Coordinate t)
 Compute a value of the 2nd approximating spline function.
static Types::Coordinate cmtk::CubicSpline::ApproxSpline3 (const Types::Coordinate t)
 Compute a value of the 3rd approximating spline function.
static Types::Coordinate cmtk::CubicSpline::ApproxSpline (const int k, const Types::Coordinate t)
 Compute the value of a given approximating spline function.
static Types::Coordinate cmtk::CubicSpline::DerivApproxSpline0 (const Types::Coordinate t)
 Compute the derivative of the 0th approximating spline function.
static Types::Coordinate cmtk::CubicSpline::DerivApproxSpline1 (const Types::Coordinate t)
 Compute derivative of the 1st approximating spline function.
static Types::Coordinate cmtk::CubicSpline::DerivApproxSpline2 (const Types::Coordinate t)
 Compute derivative of the 2nd approximating spline function.
static Types::Coordinate cmtk::CubicSpline::DerivApproxSpline3 (const Types::Coordinate t)
 Compute derivative of the 3rd approximating spline function.
static Types::Coordinate cmtk::CubicSpline::DerivApproxSpline (const int k, const Types::Coordinate t)
 Compute the derivative of a given approximating spline function.
static Types::Coordinate cmtk::CubicSpline::SecondDerivApproxSpline0 (const Types::Coordinate t)
 Compute the second derivative of the 0th approximating spline function.
static Types::Coordinate cmtk::CubicSpline::SecondDerivApproxSpline1 (const Types::Coordinate t)
 Compute second derivative of the 1st approximating spline function.
static Types::Coordinate cmtk::CubicSpline::SecondDerivApproxSpline2 (const Types::Coordinate t)
 Compute second derivative of the 2nd approximating spline function.
static Types::Coordinate cmtk::CubicSpline::SecondDerivApproxSpline3 (const Types::Coordinate t)
 Compute second derivative of the 3rd approximating spline function.
static Types::Coordinate cmtk::CubicSpline::SecondDerivApproxSpline (const int k, const Types::Coordinate t)
 Compute the second derivative of a given approximating spline function.
static Types::Coordinate cmtk::CubicSpline::InterpSpline0 (const Types::Coordinate t)
 Compute a value of the 0th interpolating spline function.
static Types::Coordinate cmtk::CubicSpline::InterpSpline1 (const Types::Coordinate t)
 Compute a value of the 1st interpolating spline function.
static Types::Coordinate cmtk::CubicSpline::InterpSpline2 (const Types::Coordinate t)
 Compute a value of the 2nd interpolating spline function.
static Types::Coordinate cmtk::CubicSpline::InterpSpline3 (const Types::Coordinate t)
 Compute a value of the 3rd interpolating spline function.
static Types::Coordinate cmtk::CubicSpline::InterpSpline (const int k, const Types::Coordinate t)
 Compute the value of a given interpolating spline function.
static Types::Coordinate cmtk::CubicSpline::DerivInterpSpline0 (const Types::Coordinate t)
 Compute derivative of the 0th interpolating spline function.
static Types::Coordinate cmtk::CubicSpline::DerivInterpSpline1 (const Types::Coordinate t)
 Compute derivative of the 1st interpolating spline function.
static Types::Coordinate cmtk::CubicSpline::DerivInterpSpline2 (const Types::Coordinate t)
 Compute derivative of the 2nd interpolating spline function.
static Types::Coordinate cmtk::CubicSpline::DerivInterpSpline3 (const Types::Coordinate t)
 Compute derivative of the 3rd interpolating spline function.
static Types::Coordinate cmtk::CubicSpline::DerivInterpSpline (const int k, const Types::Coordinate t)
 Compute derivative of a given interpolating spline function.
static Types::Coordinate cmtk::CubicSpline::SecondDerivInterpSpline0 (const Types::Coordinate t)
 Compute second derivative of the 0th interpolating spline function.
static Types::Coordinate cmtk::CubicSpline::SecondDerivInterpSpline1 (const Types::Coordinate t)
 Compute second derivative of the 1st interpolating spline function.
static Types::Coordinate cmtk::CubicSpline::SecondDerivInterpSpline2 (const Types::Coordinate t)
 Compute second derivative of the 2nd interpolating spline function.
static Types::Coordinate cmtk::CubicSpline::SecondDerivInterpSpline3 (const Types::Coordinate t)
 Compute second derivative of the 3rd interpolating spline function.
static Types::Coordinate cmtk::CubicSpline::SecondDerivInterpSpline (const int k, const Types::Coordinate t)
 Compute second derivative of a given interpolating spline function.
 cmtk::DataGridFilter::DataGridFilter (DataGrid::SmartPtr dataGrid)
 Constructor: link to DataGrid object.
TypedArray::SmartPtr cmtk::DataGridFilter::GetDataMedianFiltered (const int radius) const
 Return data after median-filtering with global filter radius (convenience function).
TypedArray::SmartPtr cmtk::DataGridFilter::GetDataMedianFiltered (const int radiusX, const int radiusY, const int radiusZ) const
 Return data after median-filtering with per-dimension filter radius.
TypedArray::SmartPtr cmtk::DataGridFilter::GetDataSobelFiltered () const
 Return data after median-filtering.
TypedArray::SmartPtr cmtk::DataGridFilter::GetDataKernelFiltered (const std::vector< Types::DataItem > &filterX, const std::vector< Types::DataItem > &filterY, const std::vector< Types::DataItem > &filterZ) const
 Return after filtering with a separable kernel.
static void cmtk::DataGridFilter::GetFilteredDataThreadX (void *args, const size_t taskIdx, const size_t taskCnt, const size_t threadIdx, const size_t)
 Thread function for separable filtering in x-direction.
static void cmtk::DataGridFilter::GetFilteredDataThreadY (void *args, const size_t taskIdx, const size_t taskCnt, const size_t threadIdx, const size_t)
 Thread function for separable filtering in y-direction.
static void cmtk::DataGridFilter::GetFilteredDataThreadZ (void *args, const size_t taskIdx, const size_t taskCnt, const size_t threadIdx, const size_t)
 Thread function for separable filtering in z-direction.
 cmtk::DataGridMorphologicalOperators::DataGridMorphologicalOperators (const DataGrid::SmartConstPtr &dataGrid)
 Constructor: link to DataGrid object.
bool cmtk::DataGridMorphologicalOperators::EliminatePaddingVoting (const int iterations=1)
 Eliminating padding data by neighborhood voting.
TypedArray::SmartPtr cmtk::DataGridMorphologicalOperators::GetBoundaryMap (const bool multiValued=false) const
 Return map of region boundaries.
TypedArray::SmartPtr cmtk::DataGridMorphologicalOperators::GetEroded (const int iterations=1) const
 Get data after erosion operator.
TypedArray::SmartPtr cmtk::DataGridMorphologicalOperators::GetDilated (const int iterations=1) const
 Get data after dilation operator.
TypedArray::SmartPtr cmtk::DataGridMorphologicalOperators::GetBinaryConnectedComponents () const
 Get connected components of a binary image.
TypedArray::SmartPtr cmtk::DataGridMorphologicalOperators::GetRegionsRenumberedBySize () const
 Get data with region labels renumbered by decreasing region size.
 cmtk::FilterMaskPixel::FilterMaskPixel ()
 Default constructor.
 cmtk::FilterMaskPixel::FilterMaskPixel (const FixedVector< DIM, int > &location, const int relativeIndex, const Types::DataItem coefficient)
 Explicit constructor.
template<class F >
 cmtk::FilterMask::FilterMask (const FixedVector< DIM, int > &dims, const FixedVector< DIM, Types::Coordinate > &deltas, const Types::Coordinate radius, F filter)
 Constructor.
Types::DataItem cmtk::FilterMask::Gaussian::operator() (const FixedVector< DIM, Types::Coordinate > &relativePosition)
 Get filter coefficient at relative location from filter center.
void cmtk::printBlock (Types::DataItem block[COUPE_BLOCK_SIZE])
template<class T >
Console & cmtk::operator<< (Console &stream, const Matrix3x3< T > &m)
 Output object to console.
template<class T , class T2 >
FixedVector< 3, T2 > & cmtk::operator*= (FixedVector< 3, T2 > &u, const Matrix4x4< T > &M)
 In-place multiplication with 3d vector operation (will implicitly be made homogeneous).
template<class T , class T2 >
FixedVector< 3, T2 > cmtk::operator* (const FixedVector< 3, T2 > &u, const Matrix4x4< T > &M)
 Multiplication with 3d vector operation (will implicitly be made homogeneous).
template<class T >
Console & cmtk::operator<< (Console &stream, const Matrix4x4< T > &m)
 Output object to console.
static Types::Coordinate cmtk::Interpolators::NearestNeighbor::GetWeight (const int weight, const Types::Coordinate x)
 Get specific interpolation weight for relative coordinate.
ScalarImage * cmtk::operator- (const ScalarImage &image0, const ScalarImage &image1)
void cmtk::CreateSystemLabelColorMap (SegmentationLabelMap &map)
 Create system label map.
 cmtk::SplineWarpXform::SplineWarpXform ()
 Construct empty new warp.
 cmtk::SplineWarpXform::SplineWarpXform (const FixedVector< 3, Types::Coordinate > &domain, const Types::Coordinate delta, const AffineXform *initialXform=NULL, const bool exactDelta=false)
 Construct new warp from volume size and control grid density.
void cmtk::SplineWarpXform::Init (const Self::SpaceVectorType &domain, const Types::Coordinate delta, const AffineXform *initialXform=NULL, const bool exactDelta=false)
 Initialize warp from volume size and control grid density.
 cmtk::SplineWarpXform::SplineWarpXform (const FixedVector< 3, Types::Coordinate > &domain, const Self::IndexType &dims, CoordinateVector::SmartPtr &parameters, const AffineXform *initialXform=NULL)
 Construct new warp from volume size, grid dimensions and parameters.
Self::SmartPtr cmtk::SplineWarpXform::Clone () const
 Clone and return smart pointer.
void cmtk::SplineWarpXform::InitControlPoints (const AffineXform *affineXform=NULL)
 Initialize control point positions, potentially with affine displacement.
virtual void cmtk::SplineWarpXform::Update (const bool exactDelta=false)
 Update internal representation.
virtual SplineWarpXform * cmtk::SplineWarpXform::MakeInverse () const
 Create inverse transformation.
virtual void cmtk::SplineWarpXform::Refine ()
 Refine control point grid by a factor of two, but maintain transformation exactly.
virtual Types::Coordinate cmtk::SplineWarpXform::GetGridEnergy () const
 Return grid bending energy.
virtual Types::Coordinate cmtk::SplineWarpXform::GetGridEnergy (const Types::Coordinate *cp) const
 Return grid bending energy at one control point.
virtual Types::Coordinate cmtk::SplineWarpXform::GetGridEnergy (const Self::SpaceVectorType &v) const
 Return grid bending energy at arbitrary location.
virtual void cmtk::SplineWarpXform::GetGridEnergyDerivative (double &lower, double &upper, const int param, const Types::Coordinate step) const
 Return derivative of grid energy with respect to one parameter.
virtual Types::Coordinate cmtk::SplineWarpXform::GetJacobianDeterminant (const Self::SpaceVectorType &v) const
 Compute Jacobian determinant at a certain location.
virtual Types::Coordinate cmtk::SplineWarpXform::GetJacobianDeterminant (const int x, const int y, const int z) const
 Compute Jacobian determinant at a certain reference image pixel.
virtual void cmtk::SplineWarpXform::GetJacobianDeterminantRow (double *const values, const int x, const int y, const int z, const size_t numberOfPoints=1) const
 Compute sequence of Jacobian determinants from given grid location.
Types::Coordinate cmtk::SplineWarpXform::JacobianDeterminant (const Types::Coordinate *cp) const
 Compute Jacobian determinant at a certain control point.
virtual Types::Coordinate cmtk::SplineWarpXform::GetJacobianConstraint () const
 Return Jacobian constraint of the current transformation grid.
virtual Types::Coordinate cmtk::SplineWarpXform::GetJacobianFoldingConstraint () const
 Return Jacobian folding constraint of the current transformation grid.
virtual void cmtk::SplineWarpXform::RelaxToUnfold ()
 Relax the deformation to unfold areas with negative Jacobian at the current image sampling.
virtual Types::Coordinate cmtk::SplineWarpXform::GetRigidityConstraint () const
 Return rigidity constraint of the current transformation grid.
virtual Types::Coordinate cmtk::SplineWarpXform::GetRigidityConstraint (const DataGrid *weightMap) const
 Return rigidity constraint of the current transformation grid with local weights.
virtual Types::Coordinate cmtk::SplineWarpXform::GetJacobianConstraintSparse () const
 Return sparse Jacobian constraint of the current transformation grid.
virtual Types::Coordinate cmtk::SplineWarpXform::GetRigidityConstraintSparse () const
 Return sparse rigidity constraint of the current transformation grid.
virtual void cmtk::SplineWarpXform::GetJacobianConstraintDerivative (double &lower, double &upper, const int param, const UniformVolume::RegionType &, const Types::Coordinate step) const
 Return derivative of Jacobian constraint with respect to one parameter.
virtual void cmtk::SplineWarpXform::GetJacobianFoldingConstraintDerivative (double &lower, double &upper, const int param, const UniformVolume::RegionType &, const Types::Coordinate step) const
 Return derivative of Jacobian constraint with respect to one parameter.
virtual void cmtk::SplineWarpXform::GetJacobianConstraintDerivative (double &lower, double &upper, const int param, const Types::Coordinate step) const
 Return derivative of Jacobian constraint with respect to one parameter.
virtual void cmtk::SplineWarpXform::GetRigidityConstraintDerivative (double &lower, double &upper, const int param, const UniformVolume::RegionType &, const Types::Coordinate step) const
 Return derivative of rigidity constraint with respect to one parameter.
virtual void cmtk::SplineWarpXform::GetRigidityConstraintDerivative (double &lower, double &upper, const int param, const UniformVolume::RegionType &, const Types::Coordinate step, const DataGrid *weightMap) const
 Return derivative of rigidity constraint with respect to one parameter.
virtual void cmtk::SplineWarpXform::GetRigidityConstraintDerivative (double &lower, double &upper, const int param, const Types::Coordinate step) const
 Return derivative of rigidity constraint with respect to one parameter.
virtual Types::Coordinate cmtk::SplineWarpXform::GetInverseConsistencyError (const WarpXform *inverse, const UniformVolume *volume, const UniformVolume::RegionType *voi=NULL) const
 Return inverse consistency.
virtual bool cmtk::SplineWarpXform::ApplyInverse (const Self::SpaceVectorType &v, Self::SpaceVectorType &u, const Types::Coordinate accuracy=0.01) const
 Return origin of warped vector.
virtual bool cmtk::SplineWarpXform::ApplyInverseInPlace (Self::SpaceVectorType &v, const Types::Coordinate accuracy=0.01) const
 Return origin of warped vector.
virtual bool cmtk::SplineWarpXform::ApplyInverseInPlaceWithInitial (Self::SpaceVectorType &v, const Self::SpaceVectorType &initial, const Types::Coordinate accuracy=0.01) const
 Return origin of warped vector.
virtual void cmtk::SplineWarpXform::ApplyInPlace (Self::SpaceVectorType &v) const
 Replace existing vector with transformed location.
virtual void cmtk::SplineWarpXform::GetVolumeOfInfluence (const size_t idx, const Self::SpaceVectorType &, const Self::SpaceVectorType &, Self::SpaceVectorType &, Self::SpaceVectorType &, const int=-1) const
 Get volume influenced by one parameter.
void cmtk::SplineWarpXform::RegisterVolume (const UniformVolume *volume)
 Register the grid points of the deformed uniform or non-uniform volume.
void cmtk::SplineWarpXform::UnRegisterVolume ()
 Unegister axes points, ie free all internal data structures.
void cmtk::SplineWarpXform::GetTransformedGrid (Self::SpaceVectorType &v, const int idxX, const int idxY, const int idxZ) const
 Get a grid point from the deformed grid.
void cmtk::SplineWarpXform::GetTransformedGridRow (const int numPoints, Self::SpaceVectorType *const v, const int idxX, const int idxY, const int idxZ) const
 Get a sequence of grid points from the deformed grid.
virtual Types::Coordinate cmtk::SplineWarpXform::GetParamStep (const size_t idx, const Self::SpaceVectorType &volSize, const Types::Coordinate mmStep=1) const
 Get parameter stepping.
virtual Self::SpaceVectorType & cmtk::SplineWarpXform::GetDeformedControlPointPosition (Self::SpaceVectorType &, const int, const int, const int) const
 Get the deformed position of a transformation control point.
Types::Coordinate * cmtk::SplineWarpXform::GetPureDeformation (const bool includeScale=false) const
 Return array of pre deformation vectors.
virtual CoordinateMatrix3x3 cmtk::SplineWarpXform::GetJacobian (const Self::SpaceVectorType &v) const
 Get local Jacobian.
virtual void cmtk::SplineWarpXform::GetJacobian (const Self::SpaceVectorType &v, CoordinateMatrix3x3 &J) const
 Get local Jacobian into existing matrix.
virtual void cmtk::SplineWarpXform::GetJacobianAtControlPoint (const Types::Coordinate *cp, CoordinateMatrix3x3 &J) const
 Get local Jacobian at control point into existing matrix.
virtual void cmtk::SplineWarpXform::GetJacobianRow (CoordinateMatrix3x3 *const array, const int x, const int y, const int z, const size_t numberOfPoints) const
 Get sequence of Jacobians for pixel row.
void cmtk::SplineWarpXform::RegisterVolumePoints (const DataGrid::IndexType &, const Self::SpaceVectorType &)
 Register axes points of the volume to be deformed.
void cmtk::SplineWarpXform::RegisterVolumePoints (const DataGrid::IndexType &, const Self::SpaceVectorType &, const Self::SpaceVectorType &)
 Register axes points of the volume to be deformed.
void cmtk::SplineWarpXform::RegisterVolumeAxis (const DataGrid::IndexType::ValueType, const Types::Coordinate delta, const Types::Coordinate origin, const int, const Types::Coordinate, std::vector< int > &g, std::vector< Types::Coordinate > &spline, std::vector< Types::Coordinate > &dspline)
 Register a single axis of the uniform volume to be deformed.
Types::Coordinate cmtk::SplineWarpXform::GetRigidityConstraint (const CoordinateMatrix3x3 &J) const
 Return rigidity constraint based on given Jacobian matrix.
virtual SplineWarpXform * cmtk::SplineWarpXform::CloneVirtual () const
 Clone transformation.
void cmtk::SplineWarpXform::Init ()
 Initialize internal data structures.
static void cmtk::SplineWarpXform::GetJacobianConstraintThread (void *const args, const size_t taskIdx, const size_t taskCnt, const size_t, const size_t)
 Thread function for SMP Jacobian constraint computation.
static void cmtk::SplineWarpXform::GetJacobianFoldingConstraintThread (void *const args, const size_t taskIdx, const size_t taskCnt, const size_t, const size_t)
 Thread function for SMP Jacobian folding constraint computation.
void cmtk::SplineWarpXform::FindClosestControlPoint (const Self::SpaceVectorType &v, Self::SpaceVectorType &cp) const
 Find nearest (after deformation) control point.
DataClass cmtk::StringToDataClass (const char *dataClassStr)
 Convert string to data class identifier.
const char * cmtk::DataClassToString (const DataClass dataClass)
 Convert data class identifier to string.
size_t cmtk::TypeItemSize (const ScalarDataType dtype)
 Return item size for given scalar data type.
ScalarDataType cmtk::SelectDataTypeInteger (const byte itemSize, const bool signBit)
 Select integer data type based on item size and sign bit.
ScalarDataType cmtk::GetSignedDataType (const ScalarDataType dtype)
 Return signed datatype ID corresponding to given datatype.
ScalarDataType cmtk::GetDifferenceDataType (const ScalarDataType dtype1, const ScalarDataType dtype2)
 Return difference datatype ID for given pair of datatypes.
ScalarDataType cmtk::GetUnsignedDataType (const ScalarDataType dtype)
 Return unsigned datatype ID corresponding to given datatype.
 cmtk::UniformVolumeFilter::UniformVolumeFilter (UniformVolume::SmartPtr volume)
 Constructor: link to UniformVolume object.
TypedArray::SmartPtr cmtk::UniformVolumeFilter::GetDataGaussFiltered (const Units::GaussianSigma &sigma, const Types::Coordinate maxError=0.01) const
 Gaussian filter (using faster, separable filtering).
template<class T >
ValueSequence< T > cmtk::operator+ (const ValueSequence< T > &a, const ValueSequence< T > &b)
template<class T >
Vector< T > cmtk::operator+ (const Vector< T > &p, const Vector< T > &delta)
 Vector addition operator.
template<class T >
Vector< T > cmtk::operator- (const Vector< T > &p, const Vector< T > &delta)
 Vector subtraction operator.
template<class T >
Vector< T > cmtk::operator* (const T c, const Vector< T > &p)
 Scalar-to-vector multiplication operator.
template<class T >
Vector< T > cmtk::CoordMult (const Vector< T > &p, const Vector< T > &q)
 Coordinatewise multiplication operator.
template<class T >
cmtk::operator* (const Vector< T > &p, const Vector< T > &q)
 Scalar product.
 cmtk::ActiveDeformationModel::ActiveDeformationModel (const std::list< SmartPointer< W > > deformationList, const unsigned int numberOfModes, const bool includeScaleInModel=true, const bool includeReferenceInModel=true)
 Build deformation model from list of deformations.
Types::Coordinate * cmtk::ActiveDeformationModel::MakeSamplePointsReference (const W *deformation)
 Make ADM sample points from the undeformed c.p.g.
Types::Coordinate * cmtk::ActiveDeformationModel::MakeSamplePoints (const W *deformation)
 Make ADM sample points from a given deformation.
W * cmtk::ActiveDeformationModel::Compose (const Types::Coordinate *weights=NULL)
 Compose deformation from mean deformation and modes of variation.
float cmtk::ActiveDeformationModel::Decompose (const W *input, Types::Coordinate *const weights=NULL) const
 Decompose a deformation into mean and modes of this model.
 cmtk::ActiveShapeModel::ActiveShapeModel (CoordinateVector::SmartPtr &mean, DirectionSet::SmartPtr &modes, CoordinateVector::SmartPtr &modeVariances)
 Construct using given mean and modes.
float cmtk::ActiveShapeModel::Construct (const Types::Coordinate *const *trainingSet, const unsigned int numberOfSamples, const unsigned int numberOfPoints, const unsigned int numberOfModes)
 Construct model.
Types::Coordinate * cmtk::ActiveShapeModel::Generate (Types::Coordinate *const instance, const Types::Coordinate *modeWeights) const
 Generate a model instance.
float cmtk::ActiveShapeModel::Decompose (const CoordinateVector *input, Types::Coordinate *const weights=NULL) const
 Decompose a vector into mean and modes of this model.
void cmtk::ActiveShapeModel::Allocate (const unsigned int numberOfPoints, const unsigned int numberOfModes)
 Allocate data structures.
void cmtk::AffineXform::MakeIdentityXform ()
 Create identity transformation.
 cmtk::AffineXform::AffineXform (const AffineXform &other)
 Copy transform by reference.
 cmtk::AffineXform::AffineXform (const Types::Coordinate matrix[4][4], const Types::Coordinate *center=NULL)
 Create transformation from transformation matrix.
 cmtk::AffineXform::AffineXform (const MatrixType &matrix, const Types::Coordinate *center=NULL)
 Create transformation from transformation matrix.
 cmtk::AffineXform::AffineXform (const Types::Coordinate matrix[4][4], const Types::Coordinate xlate[3], const Types::Coordinate center[3])
 Create transformation from transformation matrix.
AffineXform & cmtk::AffineXform::operator= (const AffineXform &other)
 Assignment operator.
virtual void cmtk::AffineXform::SetNumberDOFs (const int numberDOFs=12)
 Set the number of degrees of freedom for this object.
void cmtk::AffineXform::SetUseLogScaleFactors (const bool logScaleFactors)
 Switch between log and ordinary scale factors.
void cmtk::AffineXform::ComposeMatrix ()
 Compose this object's transformation matrix from parameter vector.
bool cmtk::AffineXform::DecomposeMatrix ()
 Decompose this object's transformation matrix into parameter vector.
Self::SpaceVectorType cmtk::AffineXform::RotateScaleShear (const Self::SpaceVectorType &v) const
 Apply rotation, scaling, and shearing but no translation to vector.
virtual Self * cmtk::AffineXform::MakeInverse () const
 Clone inverse of this transformation.
void cmtk::AffineXform::ChangeCenter (const Self::SpaceVectorType &center)
 Create equivalent transformation with different rotational center.
template<>
void cmtk::AffineXform::GetMatrix (float(&matrix)[4][4]) const
template<>
void cmtk::AffineXform::GetMatrix (double(&matrix)[4][4]) const
virtual void cmtk::AffineXform::SetParamVector (CoordinateVector &v)
 Set Xform by parameter vector.
virtual void cmtk::AffineXform::SetParamVector (const CoordinateVector &v)
 Set Xform by constant parameter vector.
virtual void cmtk::AffineXform::SetParameter (const size_t idx, const Types::Coordinate p)
 Set a single parameter value.
virtual Types::Coordinate cmtk::AffineXform::GetParamStep (const size_t idx, const Self::SpaceVectorType &volSize, const Types::Coordinate step_mm=1) const
 Get parameter stepping.
virtual Self::SmartPtr cmtk::AffineXform::GetDifference (const AffineXform &other) const
 Compute difference to another affine transformation.
void cmtk::AffineXform::Concat (const AffineXform &other)
 Concatenate this transformation with another.
void cmtk::AffineXform::Insert (const AffineXform &other)
 Insert another transformation before this one.
void cmtk::AffineXform::RotateWXYZ (const Units::Radians angle, const Self::SpaceVectorType &direction, const Types::Coordinate *origin=NULL, Self::MatrixType *const accumulate=NULL)
 Rotate around axis.
const Self::SmartPtr cmtk::AffineXform::GetInverse () const
 Get linked inverse of this transformation.
void cmtk::AffineXform::UpdateInverse () const
 Update linked inverse transformation.
void cmtk::AffineXform::CanonicalRotationRange ()
 Correct rotation parameters to canonical range -180 to 180.
virtual void cmtk::AffineXform::Print () const
 Print object.
static void cmtk::AnatomicalOrientation::GetOrientationFromDirections (char *orientation, const AffineXform::MatrixType &directions, const char *spaceAxes)
 Get closest anatomical orientation based on space dimensions and image direction vectors.
static void cmtk::AnatomicalOrientation::GetImageToSpaceAxesPermutation (int(&imageToSpaceAxesPermutation)[3][3], const char *orientation, const char *spaceAxes)
 Get permutation table of coordinate axes from space axes and image orientation.
static const char * cmtk::AnatomicalOrientationBase::GetClosestOrientation (const char *desiredOrientation, const char *const availableOrientations[])
 Get closest orientation from a list.
static bool cmtk::AnatomicalOrientationBase::OnSameAxis (const char from, const char to)
 Return true if the direction corresponding to the character 'from' is on the same axis as that corresponding to 'to'.
 cmtk::AnatomicalOrientation::PermutationMatrix::PermutationMatrix (const FixedVector< 3, int > &sourceDims, const std::string &curOrientation, const char newOrientation[3])
 Constructor: determine axes permutation, flipping, and store local copy of reoriented dimensions array.
AffineXform::MatrixType cmtk::AnatomicalOrientation::PermutationMatrix::GetPermutedMatrix (const AffineXform::MatrixType &inMatrix) const
 Permute index-to-physical matrix.
 cmtk::BitVector::BitVector (const size_t size, const bool initial=false)
 Constructor.
 cmtk::BitVector::BitVector (const size_t size, byte *const bitset)
 Constructor.
 cmtk::BitVector::~BitVector ()
 Destructor.
BitVector * cmtk::BitVector::Clone () const
 Create copy of this object.
void cmtk::BitVector::Set ()
 Set all bits to 1.
void cmtk::BitVector::Set (const size_t pos, const bool val=true)
 Set one bit to a given value.
void cmtk::BitVector::Reset (const bool value=false)
 Set all bits to given flag (default: clear all).
void cmtk::BitVector::Reset (const size_t pos)
 Set one bit to 0.
void cmtk::BitVector::Flip ()
 Flip (invert) the whole bitset.
void cmtk::BitVector::Flip (const size_t pos)
 Flip (invert) one bit.
bool cmtk::BitVector::operator[] (const size_t pos) const
 Return a given bit.
 cmtk::ControlPointList::~ControlPointList ()
 Destructor: Free all stored points.
const RegionType cmtk::DataGrid::GetWholeImageRegion () const
 Get whole image region.
virtual TypedArray::SmartPtr cmtk::DataGrid::CreateDataArray (const ScalarDataType dataType, const bool setToZero=false)
 Create data array.
virtual DataGrid * cmtk::DataGrid::GetDownsampledAndAveraged (const int(&downsample)[3]) const
 Downsampling and pixel-averaging constructor function.
const DataGrid::SmartPtr cmtk::DataGrid::GetReoriented (const char *newOrientation=AnatomicalOrientation::ORIENTATION_STANDARD) const
 Reorientation constructor function.
void cmtk::DataGrid::SetDims (const Self::IndexType &dims)
 Set dimensions array.
bool cmtk::DataGrid::TrilinearInterpolation (Types::DataItem &data, const int x, const int y, const int z, const Self::SpaceVectorType &location, const Types::Coordinate *cellFrom, const Types::Coordinate *cellTo) const
 Utility function for trilinear interpolation.
TypedArray::SmartPtr cmtk::DataGrid::GetDataMirrorPlane (const int axis=AXIS_X) const
 Return data after mirroring.
void cmtk::DataGrid::ApplyMirrorPlane (const int axis=AXIS_X)
 Replace data with mirrored version.
static void cmtk::DataGrid::MirrorPlaneInPlace (TypedArray &data, const Self::IndexType &dims, const int axis=AXIS_X)
 Mirror about plane without allocating additional memory.
TypedArray::SmartPtr cmtk::DataGrid::GetDataMirrored (const int axis=AXIS_X) const
 Return data after mirror operator.
virtual ScalarImage * cmtk::DataGrid::GetOrthoSlice (const int axis, const unsigned int plane) const
 Return orthogonal slice as a 2D image.
virtual Self * cmtk::DataGrid::ExtractSliceVirtual (const int axis, const int plane) const
 Extract orthogonal slice as a data grid object.
virtual void cmtk::DataGrid::SetOrthoSlice (const int axis, const unsigned int idx, const ScalarImage *slice)
 Set orthogonal slice from a 2D image.
virtual FixedVector
< 3, Types::Coordinate > 
cmtk::DataGrid::GetCenterOfMassGrid () const
 Get center of mass of pixel data.
virtual FixedVector
< 3, Types::Coordinate > 
cmtk::DataGrid::GetCenterOfMassGrid (FixedVector< 3, Types::Coordinate > &firstOrderMoment) const
 Get center of mass and first-order moments of pixel data.
void cmtk::DataGrid::Print () const
 Print object.
template<class TAccumulator >
ScalarImage * cmtk::DataGrid::ComputeProjection (const int axis) const
 Return maximum-intensity projection MIP along one axis.
template<class TData >
TData cmtk::DataGrid::TrilinearInterpolation (const TData *dataPtr, const int x, const int y, const int z, const Self::SpaceVectorType &gridPosition, const Types::Coordinate *cellFrom, const Types::Coordinate *cellTo) const
 Utility function for trilinear interpolation from a primitive data array.
template<class TData , class TOutputIterator >
void cmtk::DataGrid::TrilinearInterpolation (TOutputIterator result, const std::vector< TData * > &dataPtr, const int x, const int y, const int z, const Types::Coordinate fracX, const Types::Coordinate fracY, const Types::Coordinate fracZ) const
 Utility function for trilinear interpolation from multiple primitive data arrays of identical grid structure.
void cmtk::DeformationField::InitControlPoints (const AffineXform *affineXform=NULL)
 Initialize control point positions, potentially with affine displacement.
virtual void cmtk::DeformationField::GetTransformedGrid (Self::SpaceVectorType &v, const int idxX, const int idxY, const int idxZ) const
 Get a grid point from the deformed grid.
virtual void cmtk::DeformationField::GetTransformedGridRow (Self::SpaceVectorType *const v, const int numPoints, const int idxX, const int idxY, const int idxZ) const
 Get a sequence of grid points from the deformed grid.
virtual void cmtk::DeformationField::ApplyInPlace (Self::SpaceVectorType &) const
 Apply transformation to vector in-place.
virtual void cmtk::DeformationField::GetJacobian (const Self::SpaceVectorType &v, CoordinateMatrix3x3 &J) const
 Get Jacobian matrix.
void cmtk::DirectionSet::NormalizeMaxNorm (const double value=1.0)
 Normalizes each direction vector to have max norm = value.
void cmtk::DirectionSet::NormalizeEuclidNorm (const double value=1.0)
 Normalizes each direction vector to have euclid norm = value.
 cmtk::EigenSystemSymmetricMatrix3x3::EigenSystemSymmetricMatrix3x3 (const Matrix3x3< TFloat > &matrix, const bool sortAbsolute=true)
 Constructor: compute eigensystem of given matrix.
static TFloat cmtk::EigenSystemSymmetricMatrix3x3::hypot2 (const TFloat &x, const TFloat &y)
 Helper function that computes the Euclidean length of (x,y).
static void cmtk::EigenSystemSymmetricMatrix3x3::tred2 (TFloat V[3][3], TFloat d[3], TFloat e[3])
 Symmetric Householder reduction to tridiagonal form.
static void cmtk::EigenSystemSymmetricMatrix3x3::tql2 (TFloat V[3][3], TFloat d[3], TFloat e[3], const bool sortAbsolute=true)
static TypedArray::SmartPtr cmtk::FilterVolume::GaussianFilter (const UniformVolume *volume, const Units::GaussianSigma &width, const Types::Coordinate radius=1.0, const TypedArray *maskData=NULL)
 Apply Gaussian filter.
static TypedArray::SmartPtr cmtk::FilterVolume::RohlfingFilter (const UniformVolume *volume, const TypedArray *subjectData, const TypedArray *maskData, const Units::GaussianSigma &iFilterSigma, const Units::GaussianSigma &filterWidth, const Types::Coordinate filterRadius)
 Apply Torsten Rohlfing's single-image intensity-consistent Gaussian filter.
static TypedArray::SmartPtr cmtk::FilterVolume::StudholmeFilter (const UniformVolume *volume, const TypedArray *subjectData, const TypedArray *averageData, const TypedArray *maskData, std::list< TypedArray::SmartPtr > imgList, const Types::DataItem binWidth, const Units::GaussianSigma &filterWidth, const Types::Coordinate filterRadius)
 Apply Colin Studholme's Gaussian filter with registration-based weights.
static TypedArray::SmartPtr cmtk::FilterVolume::StudholmeFilter (const UniformVolume *volume, std::list< TypedArray::SmartPtr > subjectData, const TypedArray *averageData, const TypedArray *maskData, std::list< TypedArray::SmartPtr > imgList, const Types::DataItem binWidth, const Units::GaussianSigma &filterWidth, const Types::Coordinate filterRadius)
 Apply Colin Studholme's Gaussian filter using multiple time points.
virtual Self::ReturnType cmtk::Functional::EvaluateWithGradient (ParameterVectorType &v, ParameterVectorType &g, const Types::Coordinate step=1)
 Evaluate functional and also return its gradient.
 cmtk::GeneralLinearModel::GeneralLinearModel (const size_t nParameters, const size_t nData, const double *designMatrix)
 Constructor.
Matrix2D< double > * cmtk::GeneralLinearModel::GetCorrelationMatrix () const
 Get the parameter correlation matrix from design matrix.
 cmtk::GeneralLinearModel::~GeneralLinearModel ()
 Destructor.
void cmtk::GeneralLinearModel::InitResults (const size_t nPixels)
 Initialize results arrays with the correct number of pixels.
void cmtk::GeneralLinearModel::FitModel (std::vector< TypedArray::SmartPtr > &y, const bool normalizeParameters=true)
 Model y[] distribution and return model parameters a[].
size_t cmtk::Histogram::GetMaximumBinIndex () const
 Return index of bin with highest value.
double cmtk::Histogram::GetEntropy () const
 Compute entropy of distribution.
void cmtk::Histogram::AddHistogram (const Self &other)
 Add values from another histogram.
void cmtk::Histogram::RemoveHistogram (const Self &other)
 Subtract bin values from another histogram.
void cmtk::Histogram::Normalize (const T normalizeTo=1)
 Normalize histogram values by their total sum.
void cmtk::Histogram::NormalizeMaximum (const T normalizeTo=1)
 Normalize histogram values by their maximum.
Types::DataItem cmtk::Histogram::GetPercentile (const Types::DataItem percentile) const
 Compute approximate percentile value from histogram.
void cmtk::Histogram::AddWeightedSymmetricKernel (const size_t bin, const size_t kernelRadius, const T *kernel, const T factor=1)
 Add weighted symmetric kernel to histogram.
void cmtk::Histogram::AddWeightedSymmetricKernelFractional (const double bin, const size_t kernelRadius, const T *kernel, const T factor=1)
 Add weighted symmetric kernel to histogram, spreading contriubtions between adjacent bins.
double cmtk::Histogram::GetKullbackLeiblerDivergence (const Self &other) const
 Get Kullback-Leibler divergence to other histogram.
static int cmtk::Intersection::IntersectX (Types::Coordinate &fromFactor, Types::Coordinate &toFactor, const Vector3D &offset, const Vector3D &dX, const Types::Coordinate Size[3], const Types::Coordinate initFromFactor=0, const Types::Coordinate initToFactor=1, const int lowerClosed=0, const int upperClosed=0)
 Compute line-to-volume intersection.
static int cmtk::Intersection::IntersectY (Types::Coordinate &fromFactor, Types::Coordinate &toFactor, const Vector3D &offset, const Vector3D &dX, const Vector3D &dY, const Types::Coordinate Size[3], const Types::Coordinate initFromFactor=0, const Types::Coordinate initToFactor=1)
 Compute plane-to-volume intersection.
static int cmtk::Intersection::IntersectZ (Types::Coordinate &fromFactor, Types::Coordinate &toFactor, const Vector3D &offset, const Vector3D &dX, const Vector3D &dY, const Vector3D &dZ, const Types::Coordinate Size[3], const Types::Coordinate initFromFactor=0, const Types::Coordinate initToFactor=1)
 Compute volume-to-volume intersection.
void cmtk::JointHistogram::GetMarginalEntropies (double &HX, double &HY) const
 Compute marginal entropies.
double cmtk::JointHistogram::GetJointEntropy () const
 Compute joint entropy.
Histogram< T > * cmtk::JointHistogram::GetMarginalX () const
 Get marginal X distribution as 1D histogram.
Histogram< T > * cmtk::JointHistogram::GetMarginalY () const
 Get marginal Y distribution as 1D histogram.
 cmtk::Landmark::Landmark ()
 Default constructor.
 cmtk::Landmark::Landmark (const char *name, const Types::Coordinate location[3])
 Explicit constructor.
 cmtk::Landmark::~Landmark ()
 Destructor.
const Landmark::SmartPtr cmtk::LandmarkList::FindByName (const char *name) const
 Find landmark by name and return constant pointer.
Landmark::SmartPtr cmtk::LandmarkList::FindByName (const char *name)
 Find landmark by name.
void cmtk::MatchedLandmarkList::AddLandmarkLists (const LandmarkList *sourceList, const LandmarkList *targetList)
 Initialize from two separate landmark lists.
const SmartPointer
< MatchedLandmark > 
cmtk::MatchedLandmarkList::FindByName (const char *name) const
 Find landmark by name and return constant pointer.
SmartPointer< MatchedLandmark > cmtk::MatchedLandmarkList::FindByName (const char *name)
 Find landmark by name.
template<class T >
static void cmtk::MathUtil::ComputeEigensystem (const Matrix2D< T > &matrix, Matrix2D< T > &eigensystem, std::vector< T > &eigenvalues)
 Compute eigensystem and eigenvalues for square real matrix using Jacobi rotation.
template<class T >
static void cmtk::MathUtil::ComputeEigenvalues (const Matrix2D< T > &matrix, std::vector< T > &eigenvalues)
 Compute eigenvalues for square real matrix using Jacobi rotation.
static void cmtk::MathUtil::SVD (Matrix2D< double > *U, size_t m, size_t n, std::vector< double > *W, Matrix2D< double > *V)
 Singular Value Decomposition.
static void cmtk::MathUtil::SVDLinearRegression (Matrix2D< double > *U, size_t m, size_t n, std::vector< double > *W, Matrix2D< double > *V, double *b, std::vector< double > &lm_params)
 Linear Regression using SVD results.
template<class T >
static T cmtk::MathUtil::CholeskyDeterminant (const Matrix2D< T > &matrix, int n)
 Determinant of an n x n square matrix.
static double cmtk::MathUtil::UniformRandom ()
 Uniform random number generator.
static double cmtk::MathUtil::TStatFromCorrelation (const double r, const size_t df)
 Compute t-statistic from coefficient of correlation.
static double cmtk::MathUtil::ProbabilityFromTStat (const double t, const size_t df)
 Compute probability from T-statistic.
template<class T >
static T cmtk::MathUtil::Mean (const unsigned int nValues, const T *values)
 Computes average of an array of float values.
template<class T >
static T cmtk::MathUtil::Variance (const unsigned int nValues, const T *values, T mean, const bool unbiased=false)
 Computes variance of an array of float values.
template<class T >
static T cmtk::MathUtil::Mean (const std::vector< T > &values)
 Computes average of a vector of float values.
template<class T >
static T cmtk::MathUtil::Variance (const std::vector< T > &values, T mean, const bool unbiased=false)
 Computes variance of a vector of float values.
template<class T >
static T cmtk::MathUtil::Correlation (const std::vector< T > &x, const std::vector< T > &y)
 Normalized correlation coefficient between two float vectors.
template<class T >
static T cmtk::MathUtil::TTest (const std::vector< T > &valuesX, const std::vector< T > &valuesY, T &t)
 Performs two-tailed unpaired t-test on two distributions.
template<class T >
static T cmtk::MathUtil::PairedTTest (const std::vector< T > &valuesX, const std::vector< T > &valuesY, T &t, T &avgX, T &avgY)
 Performs two-tailed paired t-test on two distributions.
template<class T >
static T cmtk::MathUtil::TTest (const std::vector< T > &valuesX, const std::vector< T > &valuesY, T &t, T &avgX, T &avgY)
 Performs two-tailed unpaired t-test on two distributions.
template<class T >
static T cmtk::MathUtil::TTest (const std::vector< T > &valuesX, T &t, T &avgX)
 Performs one-sample t-test on distribution to test for zero mean.
 cmtk::Matrix3x3::Matrix3x3 ()
 Default constructor: make identity matrix.
 cmtk::Matrix3x3::Matrix3x3 (const Self &other)
 Copy constructor.
Self & cmtk::Matrix3x3::Set (const T *const values)
 Set from array of entries.
Self & cmtk::Matrix3x3::Fill (const T value)
 Set to constant value.
Self & cmtk::Matrix3x3::Compose (const Types::Coordinate params[8])
 Compose from canonical parameters.
bool cmtk::Matrix3x3::Decompose (Types::Coordinate params[8], const Types::Coordinate *center=NULL) const
 Decompose into affine parameters.
Self cmtk::Matrix3x3::GetTranspose () const
 Transpose operator.
Self & cmtk::Matrix3x3::Invert2x2 ()
 Inversion operator (in place).
Self & cmtk::Matrix3x3::Invert3x3 ()
 Inversion operator (in place) as a 3D non-homogeneous matrix.
Self & cmtk::Matrix3x3::operator*= (const Self &other)
 In-place multiplication operator.
Self & cmtk::Matrix3x3::operator*= (const T scalar)
 In-place scalar multiplication operator.
const Self cmtk::Matrix3x3::operator* (const Self &other) const
 Multiplication operator.
Self & cmtk::Matrix3x3::operator= (const Self &other)
 Assignment operator.
cmtk::Matrix3x3::FrobeniusNorm () const
 Get Frobenius norm.
void cmtk::Matrix3x3::ComputeEigenvalues (T(&lambda)[3]) const
 Compute eigenvalues.
 cmtk::Matrix4x4::Matrix4x4 ()
 Default constructor: make identity matrix.
 cmtk::Matrix4x4::Matrix4x4 (const Matrix3x3< T > &other)
 Top left submatrix copy constructor.
Self & cmtk::Matrix4x4::Set (const T *const values)
 Set from array of entries.
Self cmtk::Matrix4x4::GetTranspose () const
 Transpose operator.
Self & cmtk::Matrix4x4::Compose (const Types::Coordinate params[15], const bool logScaleFactors=false)
 Compose from canonical parameters.
bool cmtk::Matrix4x4::Decompose (Types::Coordinate params[12], const Types::Coordinate *center=NULL, const bool logScaleFactors=false) const
 Decompose into affine parameters.
const Self cmtk::Matrix4x4::GetInverse () const
 Inversion operator (in place).
Self & cmtk::Matrix4x4::operator*= (const Self &other)
 In-place multiplication operator.
const Self cmtk::Matrix4x4::operator* (const Self &other) const
 Multiplication operator.
Self & cmtk::Matrix4x4::operator= (const Matrix3x3< T > &other)
 3x3 submatrix assignment operator.
Self & cmtk::Matrix4x4::ChangeCoordinateSystem (const FixedVector< 3, T > &newX, const FixedVector< 3, T > &newY)
 Change reference coordinate system.
static Self cmtk::Matrix4x4::RotateX (const T angle)
 Return rotation around x axis.
static Self cmtk::Matrix4x4::RotateY (const T angle)
 Return rotation around y axis.
static Self cmtk::Matrix4x4::RotateZ (const T angle)
 Return rotation around z axis.
cmtk::Matrix4x4::FrobeniusNorm () const
 Get Frobenius norm.
 cmtk::ParametricPlane::ParametricPlane ()
 Default constructor.
void cmtk::ParametricPlane::Update ()
 Update internal fields after change of parameters.
void cmtk::ParametricPlane::SetNormal (const Self::CoordinateVectorType &normal)
 Set normal vector and determine rotation angles from it.
AffineXform * cmtk::ParametricPlane::GetAlignmentXform (const byte normalAxis=0) const
 Get transformation that aligns this plane with the coordinate system.
AffineXform::MatrixType cmtk::ParametricPlane::GetMirrorXformMatrix () const
 Get affine transformation matrix of the mirror transform.
 cmtk::QRDecomposition::QRDecomposition (const Matrix2D< TFloat > &matrix)
 Constructor: compute QR decomposition of given matrix.
matrix2D & cmtk::QRDecomposition::GetQ ()
 Get the Q factor.
matrix2D & cmtk::QRDecomposition::GetR ()
 Get the R factor.
 cmtk::ScalarImage::ScalarImage ()
 Default constructor creates empty image.
 cmtk::ScalarImage::ScalarImage (const int dimsx, const int dimsy, const int numberOfFrames=1)
 Constructor with separate x and y dimensions.
 cmtk::ScalarImage::ScalarImage (const ScalarImage &source, const int *roiFrom=NULL, const int *roiTo=NULL)
 Get ROI as sub-image.
 cmtk::ScalarImage::ScalarImage (const ScalarImage &other, const Self::RegionType &roi)
 Get ROI as sub-image.
virtual ScalarImage * cmtk::ScalarImage::InterpolateFrom (const ScalarImage *grid, const CoordinateMatrix3x3 *matrix, const cmtk::Interpolators::InterpolationEnum interpolation=cmtk::Interpolators::LINEAR) const
 Interpolate sub-image with affine transformation.
virtual void cmtk::ScalarImage::ApplyBinaryMask (const ScalarImage *maskImage, const bool invert=false)
 Apply binary mask to image.
bool cmtk::ScalarImage::GetPixelAt (Types::DataItem &value, const Types::Coordinate i, const Types::Coordinate j) const
 Get pixel at fractional 2-D index by bilinear interpolation.
bool cmtk::ScalarImage::GetPixelAtCubic (Types::DataItem &value, const Types::Coordinate i, const Types::Coordinate j) const
 Get pixel at fractional 2-D index by bicubic interpolation.
Self::SpaceVectorType cmtk::ScalarImage::GetImageOrigin (const int frame=0) const
 Get image origin of given frame (default: 0).
virtual ScalarImage * cmtk::ScalarImage::Clone () const
 Clone (duplicate) this object.
virtual ScalarImage * cmtk::ScalarImage::Clone (const bool clonePixelData)
 Clone (duplicate) this object.
ScalarImage * cmtk::ScalarImage::Downsample (const int factorX, int factorY=0, ScalarImage *const target=NULL) const
 Create downsampled copy of this image.
TypedArray::SmartPtr cmtk::ScalarImage::GetFilteredData (const std::vector< Types::DataItem > &filterX, const std::vector< Types::DataItem > &filterY) const
ScalarImage & cmtk::ScalarImage::operator-= (const ScalarImage &)
 Subtract one image from another in place.
void cmtk::ScalarImage::Mirror (const bool horizontal, const bool vertical)
 Mirror image horizontally and/or vertically.
void cmtk::ScalarImage::AdjustToIsotropic (const Types::Coordinate pixelSize, const bool interpolate=false)
 Adjust aspect ratio.
void cmtk::ScalarImage::AdjustAspect (const bool interpolate=false)
 Adjust aspect ratio.
void cmtk::ScalarImage::AdjustAspectY (const bool interpolate=false)
 Adjust aspect ratio by stretching in Y-direction.
void cmtk::ScalarImage::AdjustAspectX (const bool interpolate=false)
 Adjust aspect ratio by stretching in X-direction.
void cmtk::ScalarImage::ProjectPixel (const Self::SpaceVectorType &v, int &i, int &j) const
 Project 3D coordinate onto image plane.
virtual void cmtk::ScalarImage::Print () const
 Print object information.
virtual double cmtk::TemplateArray::GetEntropy (const bool fractional=CMTK_HISTOGRAM_DISCRETE, const int numberOfBins=128) const
 Calculate entropy of distribution of values in this array.
virtual double cmtk::TemplateArray::GetEntropy (Histogram< unsigned int > &histogram) const
 Calculate entropy of values in this array using existing histogram.
virtual double cmtk::TemplateArray::GetEntropy (Histogram< double > &histogram, const bool fractional=CMTK_HISTOGRAM_DISCRETE) const
 Calculate entropy of values in this array using existing histogram.
virtual double cmtk::TemplateArray::GetEntropy (Histogram< double > &histogram, const double *kernel, const size_t kernelRadius) const
 Calculate entropy of values in this array using existing histogram and kernel for Parzen windowing.
virtual const Types::DataItemRange cmtk::TemplateArray::GetRange () const
 Calculate minimum and maximum data value.
virtual const Types::Range< T > cmtk::TemplateArray::GetRangeTemplate () const
 Calculate minimum and maximum data value.
virtual TypedArray::SmartPtr cmtk::TemplateArray::Convert (const ScalarDataType dtype) const
 Convert to typed array of any given template type.
virtual void * cmtk::TemplateArray::ConvertSubArray (const ScalarDataType dtype, const size_t fromIdx, const size_t len) const
 Convert a sub-array to any given primitive data type.
virtual void cmtk::TemplateArray::GammaCorrection (const Types::DataItem gamma)
 Apply gamma correction.
virtual void cmtk::TemplateArray::ApplyFunctionFloat (typename Self::FunctionTypeFloat f)
 Apply real function to data.
virtual void cmtk::TemplateArray::ApplyFunctionDouble (typename Self::FunctionTypeDouble f)
 Apply real function to data.
virtual void cmtk::TemplateArray::ConvertSubArray (void *const destination, const ScalarDataType dtype, const size_t fromIdx, const size_t len) const
 Convert a sub-array to given primitive data type into existing array.
virtual void cmtk::TemplateArray::ChangeEndianness ()
 Change endianness of data.
virtual void cmtk::TemplateArray::ApplyFunctionObject (const TypedArrayFunction &f)
 Apply function class to the values of this array.
virtual void cmtk::TemplateArray::BlockSet (const Types::DataItem value, const size_t fromOffset, const size_t toOffset)
 Set data block to constant value.
virtual size_t cmtk::TemplateArray::GetStatistics (Types::DataItem &mean, Types::DataItem &variance) const
 Calculate statistics.
virtual Histogram< unsigned
int >::SmartPtr 
cmtk::TemplateArray::GetHistogram (const unsigned int numberOfBins, const bool centeredBins=false) const
 Get data histogram.
 cmtk::TransformedVolumeAxes::TransformedVolumeAxes (const UniformVolume &volume, const AffineXform *xform=NULL, const Types::Coordinate *deltas=NULL, const Types::Coordinate *otherOrigin=NULL)
 Constructor using affine transformation.
 cmtk::TransformedVolumeAxes::TransformedVolumeAxes (const UniformVolume &volume, const ParametricPlane &mirrorPlane, const Types::Coordinate *deltas=NULL)
 Constructor using mirror plane.
void cmtk::TransformedVolumeAxes::MakeHash (const UniformVolume &volume, const UniformVolume::SpaceVectorType &offset, const UniformVolume::SpaceVectorType &dX, const UniformVolume::SpaceVectorType &dY, const UniformVolume::SpaceVectorType &dZ)
 Create the actual hash: allocate and fill according to given offset and delta vectors.
 cmtk::TransformedVolumeAxes::~TransformedVolumeAxes ()
 Free all storage.
virtual void cmtk::TypedArray::RescaleToRange (const Types::DataItemRange &toRange)
 Scale values in the array to a given target range.
virtual void cmtk::TypedArray::BlockSwap (const size_t fromOffset, const size_t toOffset, const size_t blockLength)
 Exchange two data blocks.
virtual void cmtk::TypedArray::BlockReverse (const size_t fromOffset, const size_t blockLength)
 Revert order of items in a given range.
static Self::SmartPtr cmtk::TypedArray::Create (const ScalarDataType dtype, void *const data, const size_t size, const bool freeArray=true, const bool paddingFlag=false, const void *paddingData=NULL)
 Create typed data array from existing array of values.
static Self::SmartPtr cmtk::TypedArray::Create (const ScalarDataType dtype, const size_t size)
 Create typed data array, allocating new memory for the items array.
virtual void cmtk::TypedArray::PruneHistogram (const bool pruneHi, const bool pruneLo, const size_t numberOfBinsTarget, const size_t numberOfBinsInternal=1024)
 Prune histogram to trim noise.
virtual Types::DataItem cmtk::TypedArray::GetPercentile (const Types::DataItem percentile, const size_t nBins=256) const
 Compute approximate percentile value from histogram.
virtual std::vector
< Types::DataItem > 
cmtk::TypedArray::GetPercentileList (const std::vector< Types::DataItem > &percentileList, const size_t nBins=256) const
 Compute list of approximate percentile values from histogram.
 cmtk::UniformDistanceMap::UniformDistanceMap (const UniformVolume &volume, const byte flags=DEFAULT, const Types::DataItem value=0, const Types::DataItem window=0)
 Construct map from given volume.
void cmtk::UniformDistanceMap::BuildDistanceMap (const UniformVolume &volume, const byte flags, const Types::DataItem value=0, const Types::DataItem window=0)
 Compute distance map.
void cmtk::UniformDistanceMap::ComputeEDT (DistanceDataType *const distance)
 Compute 3-D Euclidean Distance Transformation.
static void cmtk::UniformDistanceMap::ComputeEDTThreadPhase1 (void *const args, const size_t taskIdx, const size_t taskCnt, const size_t threadIdx, const size_t)
 Thread function for first phase (xy) of EDT computation.
static void cmtk::UniformDistanceMap::ComputeEDTThreadPhase2 (void *const args, const size_t taskIdx, const size_t taskCnt, const size_t threadIdx, const size_t)
 Thread function for second phase (z) of EDT computation.
void cmtk::UniformDistanceMap::ComputeEDT2D (DistanceDataType *const plane, std::vector< DistanceDataType > &gTemp, std::vector< DistanceDataType > &hTemp)
 Compute 2-D Euclidean Distance Transformation for one image plane.
bool cmtk::UniformDistanceMap::VoronoiEDT (DistanceDataType *const lpY, const int nSize, const DistanceDataType delta, std::vector< DistanceDataType > &gTemp, std::vector< DistanceDataType > &hTemp)
 Compute 1-D Voronoi Euclidean Distance Transform.
template<class TData >
bool cmtk::UniformVolume::ProbeData (TData &result, const TData *dataPtr, const Self::CoordinateVectorType &location) const
 Get data value at specified coordinate.
bool cmtk::UniformVolume::ProbeNoXform (ProbeInfo &, const Self::CoordinateVectorType &) const
 Return linearly interpolated voxel without applying a transformation.
bool cmtk::UniformVolume::FindVoxel (const Self::CoordinateVectorType &location, int *const idx, Types::Coordinate *const from, Types::Coordinate *const to) const
 Find a voxel in the volume.
bool cmtk::UniformVolume::FindVoxel (const Self::CoordinateVectorType &location, int *const idx) const
 Find a voxel in the volume.
void cmtk::UniformVolume::GetVoxelIndexNoBounds (const Self::CoordinateVectorType &location, int *const idx) const
 Find a grid index inside or outside the volume.
bool cmtk::UniformVolume::FindVoxelByIndex (const Self::CoordinateVectorType &fracIndex, int *const idx, Types::Coordinate *const frac) const
 Find a voxel in the volume by fractional index.
template<class TAccumulator >
ScalarImage * cmtk::UniformVolume::ComputeProjection (const int axis) const
 Return projection (e.g., MIP, sum) along one axis.
void cmtk::UniformVolume::SetHighResCropRegion (const Self::CoordinateRegionType &crop)
 Set cropping region in real-world coordinates.
const Self::CoordinateRegionType cmtk::UniformVolume::GetHighResCropRegion () const
 Get cropped volume in real-world coordinates.
Self::SmartPtr cmtk::UniformVolume::GetCroppedVolume () const
 Return cropped uniform volume.
virtual TypedArray::SmartPtr cmtk::UniformVolume::Resample (const UniformVolume &) const
 Resample other volume.
static void cmtk::UniformVolume::ResampleThreadPoolExecuteLabels (void *const arg, const size_t taskIdx, const size_t taskCnt, const size_t threadIdx, const size_t threadCnt)
 Multi-threaded resampling for label data (using partial volume averaging).
static void cmtk::UniformVolume::ResampleThreadPoolExecuteGrey (void *const arg, const size_t taskIdx, const size_t taskCnt, const size_t threadIdx, const size_t threadCnt)
 Multi-threaded resampling for grey data.
virtual bool cmtk::UniformVolumeInterpolator::GetDataAt (const Vector3D &v, Types::DataItem &value) const
 Get data at location.
virtual Types::DataItem cmtk::UniformVolumeInterpolator::GetDataDirect (const int *imageGridPoint, const Types::Coordinate *insidePixel) const
 Get data at a pre-computed relative pixel index.
virtual bool cmtk::UniformVolumeInterpolatorPartialVolume::GetDataAt (const Vector3D &v, Types::DataItem &value) const
 Get data at location.
virtual Types::DataItem cmtk::UniformVolumeInterpolatorPartialVolume::GetDataDirect (const int *imageGridPoint, const Types::Coordinate *insidePixel) const
 Get data at a pre-computed relative pixel index. This is faster if we already know the pixel index and fractional coordinate of a location.
ValueSequence< T > & cmtk::ValueSequence::operator= (const ValueSequence< T > &other)
 Assignment operator.
bool cmtk::Volume::GetTrilinear (ProbeInfo &, const int, const int, const int, const Vector3D &, const Types::Coordinate *, const Types::Coordinate *) const
 Get information needed for trilinear interpolation.
Vector3D cmtk::Volume::GetCenter () const
 Calculate volume center.
void cmtk::VolumeClipping::SetClippingBoundaries (const UniformVolume::CoordinateRegionType &region)
 Set clipping boundaries.
int cmtk::VolumeClipping::ClipX (Types::Coordinate &fromFactor, Types::Coordinate &toFactor, const Vector3D &offset, const Types::Coordinate initFromFactor=0, const Types::Coordinate initToFactor=1, const bool lowerClosed=false, const bool upperClosed=false) const
 Compute line-to-volume intersection.
int cmtk::VolumeClipping::ClipY (Types::Coordinate &fromFactor, Types::Coordinate &toFactor, const Vector3D &offset, const Types::Coordinate initFromFactor=0, const Types::Coordinate initToFactor=1) const
 Compute plane-to-volume intersection.
int cmtk::VolumeClipping::ClipZ (Types::Coordinate &fromFactor, Types::Coordinate &toFactor, const Vector3D &offset, const Types::Coordinate initFromFactor=0, const Types::Coordinate initToFactor=1) const
 Compute volume-to-volume intersection.
 cmtk::VolumeGridToGridLookup::VolumeGridToGridLookup (const UniformVolume &fromGrid, const UniformVolume &toGrid)
 Constructor: takes original and new image grids.
virtual void cmtk::WarpXform::InitGrid (const FixedVector< 3, Types::Coordinate > &domain, const Self::IndexType &dims)
 Initialized internal data structures for new control point grid.
virtual void cmtk::WarpXform::Update (const bool exactDelta=false)
 Update internal representation.
virtual void cmtk::WarpXform::GetDerivativeLandmarksMSD (double &lowerMSD, double &upperMSD, const MatchedLandmarkList *ll, const unsigned int idx, const Types::Coordinate step)
 Return derivative of registration error with respect to one parameter.
virtual Types::Coordinate cmtk::WarpXform::GetInverseConsistencyError (const Self *inverse, const UniformVolume *volume, const UniformVolume::RegionType *voi=NULL) const
 Return inverse consistency.
virtual void cmtk::WarpXform::GetDerivativeInverseConsistencyError (double &lower, double &upper, const Self *inverse, const UniformVolume *volume, const UniformVolume::RegionType *voi, const unsigned int idx, const Types::Coordinate step)
 Return derivative of inverse consistency.
virtual Types::Coordinate cmtk::WarpXform::GetParamStep (const size_t, const Self::SpaceVectorType &volSize, const Types::Coordinate mmStep=1) const
 Get parameter step given a transformed volume size.
void cmtk::WarpXform::SetParametersActive ()
 Set all parameters as active.
void cmtk::WarpXform::SetParameterActive (const size_t index, const bool active=true)
 Set a particular parameter as active (or passive).
void cmtk::WarpXform::SetParametersActive (const UniformVolume::RegionType &roi)
 Set only those parameters as active that influence a given ROI.
void cmtk::WarpXform::SetParametersActive (const int axis, const bool active=true)
 Set parameters for one spatial dimension as active or inactive.
void cmtk::WarpXform::SetParametersActive (const char *axes)
 Set parameters for spatial dimensions as active.
void cmtk::WarpXform::SetParameterInactive (const size_t index)
 Set a particular parameter as inactive.
int cmtk::WarpXform::GetParameterActive (const size_t index) const
 Test whether a particular parameter is active.
void cmtk::WarpXform::DeleteParameterActiveFlags ()
 Free bitset for active parameter flags if it exists.
void cmtk::WarpXform::ReplaceInitialAffine (const AffineXform *newAffineXform=NULL)
 Replace initial affine transformation.
void cmtk::WarpXform::ConcatAffine (const AffineXform *affineXform)
 Concat affine transformation.
void cmtk::Xform::AllocateParameterVector (const size_t numberOfParameters)
 Allocate parameter vector.
virtual void cmtk::Xform::SetParamVector (CoordinateVector &v)
 Set Xform by parameter vector.
virtual void cmtk::Xform::SetParamVector (const CoordinateVector &v)
 Set the parameter vector.
virtual CoordinateVector & cmtk::Xform::GetParamVector (CoordinateVector &v, const size_t targetOffset=0) const
 Copy parameter vector to existing vector object.
virtual void cmtk::Xform::GetVolumeOfInfluence (const size_t idx, const Self::SpaceVectorType &, const Self::SpaceVectorType &, Self::SpaceVectorType &, Self::SpaceVectorType &, const int=-1) const
 Get volume influenced by one parameter.
virtual Types::Coordinate cmtk::Xform::GetLandmarksMSD (const MatchedLandmarkList *ll) const
 Return registration error for set of source/target landmarks.

Variables

TDataType cmtk::Accumulators::Avg::m_Sum
 Current sum of values.
unsigned int cmtk::Accumulators::Avg::m_Count
 Counter.
bool cmtk::Accumulators::Max::m_Valid
 Flag whether there is a valid accumulated value.
TDataType cmtk::Accumulators::Max::m_Maximum
 Current maximum.
TDataType cmtk::Accumulators::Sum::m_Sum
 Current sum.
Vector3D cmtk::ControlPoint::deformed
 Deformed control point position.
bool cmtk::ControlPoint::active
 Is this an active (true) or passive (false) control point?
DataGrid::SmartPtr cmtk::DataGridFilter::m_DataGrid
 The DataGrid object we're working on.
TypedArray::SmartPtr cmtk::DataGridFilter::FilterThreadParameters::m_Result
 Pointer to result pixel data.
DataGrid::SmartConstPtr cmtk::DataGridMorphologicalOperators::m_DataGrid
 The DataGrid object we're working on.
FixedVector< DIM, int > cmtk::FilterMaskPixel::Location
 Relative location of this pixel.
int cmtk::FilterMaskPixel::RelativeIndex
 Relative index of this pixel in source image from center of kernel.
Types::DataItem cmtk::FilterMaskPixel::Coefficient
 Filter coefficient.
int cmtk::FilterMaskPixel::PixelIndex
 Cached source index of image pixel for this element.
bool cmtk::FilterMaskPixel::Valid
 Active flag.
Types::Coordinate cmtk::FilterMask::Gaussian::InvStandardDeviation
 Standard deviation.
Types::Coordinate cmtk::FilterMask::Gaussian::NormFactor
 Gaussian normalization factor.
const FPInitializeUnion cmtk::MathUtil::FPInitializeInf
const void * cmtk::MathUtil::FPInitializeNaN_P = &FPInitializeNaN
const void * cmtk::MathUtil::FPInitializeInf_P = &FPInitializeInf
const void * cmtk::MathUtil::FPInitializeNaN_fP = &FPInitializeNaN.f[1]
const void * cmtk::MathUtil::FPInitializeInf_fP = &FPInitializeInf.f[1]
DataGrid::IndexType cmtk::SplineWarpXform::VolumeDims
 Dimensions of the volume image linked to this transformation.
int cmtk::SplineWarpXform::GridPointOffset [48]
 Relative offsets of all control points in a 4 x 4 x 4 neighborhood.
int cmtk::SplineWarpXform::JacobianConstraintThreadInfo::ThisThreadIndex
 Unique index of this thread instance among all threads.
int cmtk::SplineWarpXform::JacobianConstraintThreadInfo::NumberOfThreads
 Total number of threads created.
Types::Coordinate cmtk::SplineWarpXform::JacobianConstraintThreadInfo::Constraint
 Constraint for subvolume handled by this thread.
const char * cmtk::DataClassString []
const char * cmtk::DataTypeName []
 Names of scalar data types.
const ScalarDataType cmtk::TYPE_ITEM = TYPE_DOUBLE
const ScalarDataType cmtk::TYPE_COORDINATE = TYPE_DOUBLE
UniformVolume::SmartPtr cmtk::UniformVolumeFilter::m_UniformVolume
 The UniformVolume object we're working on.
static const char *const cmtk::AnatomicalOrientationBase::ORIENTATION_STANDARD = "RAS"
 Orientation of standardized reoriented image axes (LR/AP/IS).
static const char *const cmtk::AnatomicalOrientationBase::SPACE_CMTK = "RAS"
 Standard CMTK coordinate space (LR/PA/IS).
static const char *const cmtk::AnatomicalOrientationBase::SPACE_ITK = "LPS"
 Standard ITK coordinate space (RL/AP/IS).
static const Types::DataItem cmtk::DataTypeTraits< byte >::Min = 0
 Minimum value in this type.
static const Types::DataItem cmtk::DataTypeTraits< byte >::Max = UCHAR_MAX
 Maximum value in this type.
static const Types::DataItem cmtk::DataTypeTraits< char >::Min = SCHAR_MIN
 Minimum value in this type.
static const Types::DataItem cmtk::DataTypeTraits< char >::Max = SCHAR_MAX
 Maximum value in this type.
static const Types::DataItem cmtk::DataTypeTraits< signed short >::Min = SHRT_MIN
 Minimum value in this type.
static const Types::DataItem cmtk::DataTypeTraits< signed short >::Max = SHRT_MAX
 Maximum value in this type.
static const Types::DataItem cmtk::DataTypeTraits< unsigned short >::Min = 0
 Minimum value in this type.
static const Types::DataItem cmtk::DataTypeTraits< unsigned short >::Max = USHRT_MAX
 Maximum value in this type.
static const Types::DataItem cmtk::DataTypeTraits< int >::Min = INT_MIN
 Minimum value in this type.
static const Types::DataItem cmtk::DataTypeTraits< int >::Max = INT_MAX
 Maximum value in this type.
static const Self cmtk::Matrix4x4::IdentityMatrix
 Identity transformation matrix.

Friends

class cmtk::SplineWarpXform::SplineWarpXformUniformVolume
 Friend declaration.

Shortcut class typedefs for typed arrays.

typedef TemplateArray< bytecmtk::ByteArray
 Array of (unsigned) byte values.
typedef TemplateArray< char > cmtk::CharArray
 Array of (signed) char values.
typedef TemplateArray< short > cmtk::ShortArray
 Array of signed short values.
typedef TemplateArray
< unsigned short > 
cmtk::UShortArray
 Array of unsigned short values.
typedef TemplateArray< int > cmtk::IntArray
 Array of (signed) integer values.
typedef TemplateArray< float > cmtk::FloatArray
 Array of single-precision float values.
typedef TemplateArray< double > cmtk::DoubleArray
 Array of double-precision float values.

Precomputed grid indices.

These arrays hold the precomputed grid indices of the deformed grid's voxels with respect to the control point grid of this deformation.


std::vector< int > cmtk::SplineWarpXform::gX
 x-axis.
std::vector< int > cmtk::SplineWarpXform::gY
 y-axis.
std::vector< int > cmtk::SplineWarpXform::gZ
 z-axis.

Precomputed spline coefficients.

These arrays hold the precomputed spline coefficients for deforming the voxel locations in the associated deformed grid.


std::vector< Types::Coordinate > cmtk::SplineWarpXform::splineX
 x-axis.
std::vector< Types::Coordinate > cmtk::SplineWarpXform::splineY
 y-axis.
std::vector< Types::Coordinate > cmtk::SplineWarpXform::splineZ
 z-axis.

Precomputed derivative spline coefficients.

These arrays hold the precomputed derivatives of the spline coefficients.

This allows for rapid evaluation of the Jacobian determinant.


std::vector< Types::Coordinate > cmtk::SplineWarpXform::dsplineX
 x-axis.
std::vector< Types::Coordinate > cmtk::SplineWarpXform::dsplineY
 y-axis.
std::vector< Types::Coordinate > cmtk::SplineWarpXform::dsplineZ
 z-axis.

Matrix access.

void cmtk::AffineXform::SetMatrix (const MatrixType &matrix)
void cmtk::AffineXform::SetMatrix (const float matrix[4][4])
 Set transformation matrix.
void cmtk::AffineXform::SetMatrix (const double matrix[4][4])

Image filter operators.

These functions perform various filter operations on the image data.

For each filter, two functions are implemented: GetXXXFiltered and ApplyXXXFilter. The former returns a pointer to a newly allocated pixel data array that contains the filtered data. The latter replaces the current object's pixel data with the filtered data.

Note:
A complete new ScalarImage object with filtered pixel data can easily and efficiently be created by calling object->Clone( false )->ApplyXXXFilter().

TypedArray::SmartPtr cmtk::ScalarImage::GetMedianFiltered (const byte range) const
 Return median-filtered image data.
TypedArray::SmartPtr cmtk::ScalarImage::GetGaussFiltered (const Types::Coordinate stdDev) const
 Return Gauss-filtered (smoothed) image data.
TypedArray::SmartPtr cmtk::ScalarImage::GetSobel2DFiltered () const
 Return Sobel-filtered (edge-enhanced) image data.
TypedArray::SmartPtr cmtk::ScalarImage::GetSobelFiltered (const bool horizontal, const bool absolute=false) const
 Return Sobel-filtered (edge-enhanced) image data.
TypedArray::SmartPtr cmtk::ScalarImage::GetLaplace2DFiltered () const
 Return Laplace-filtered (edge-enhanced) image data.
ScalarImage * cmtk::ScalarImage::ApplyMedianFilter (const byte range)
 Replace pixel data with median-filtered data.
ScalarImage * cmtk::ScalarImage::ApplyGaussFilter (const Types::Coordinate stdDev)
 Replace pixel data with Gauss-filtered data.
ScalarImage * cmtk::ScalarImage::ApplySobel2DFilter ()
 Replace pixel data with Sobel-filtered data.
ScalarImage * cmtk::ScalarImage::ApplyLaplace2DFilter ()
 Replace pixel data with Laplace-filtered data.
ScalarImage * cmtk::ScalarImage::ApplySobelFilter (const bool horizontal, const bool absolute=false)
 Replace pixel data with 1-D Sobel-filtered data.

Detailed Description

This library provides classes for basic objects, such as volumes, transformations, vectors, functionals, and meta information.


Define Documentation

#define CMTK_ITEM_MAX   DBL_MAX

Definition at line 145 of file cmtkTypes.h.

#define CMTK_ITEM_MIN   DBL_MIN

Definition at line 146 of file cmtkTypes.h.

#define CMTK_ITEM_NAN   CMTK_DOUBLE_NAN

Definition at line 147 of file cmtkTypes.h.

#define CMTK_SCALARIMAGE_ABSOLUTE   true

Definition at line 386 of file cmtkScalarImage.h.

#define CMTK_SCALARIMAGE_CLONEDATA   true

Definition at line 380 of file cmtkScalarImage.h.

#define CMTK_SCALARIMAGE_HORIZONTAL   true
#define CMTK_SCALARIMAGE_NOCLONEDATA   false

Definition at line 378 of file cmtkScalarImage.h.

#define CMTK_SCALARIMAGE_SIGNED   false

Definition at line 388 of file cmtkScalarImage.h.

#define CMTK_SCALARIMAGE_VERTICAL   false
#define TOL   1.0e-5

Typedef Documentation

typedef TemplateArray<byte> cmtk::ByteArray

Array of (unsigned) byte values.

Definition at line 650 of file cmtkTemplateArray.h.

typedef TemplateArray<char> cmtk::CharArray

Array of (signed) char values.

Definition at line 653 of file cmtkTemplateArray.h.

typedef Matrix3x3<Types::Coordinate> cmtk::CoordinateMatrix3x3

Define coordinate matrix.

Definition at line 192 of file cmtkMatrix3x3.h.

typedef Vector<Types::Coordinate> cmtk::CoordinateVector

Shortcut definition.

This typedef defines a name for the frequently used vectors over the Types::Coordinate type. This is used for all kinds of parameters vectors etc.

Definition at line 415 of file cmtkVector.h.

typedef TemplateArray<double> cmtk::DoubleArray

Array of double-precision float values.

Definition at line 668 of file cmtkTemplateArray.h.

typedef TemplateArray<float> cmtk::FloatArray

Array of single-precision float values.

Definition at line 665 of file cmtkTemplateArray.h.

typedef Vector<float> cmtk::FloatVector

Shortcut definition.

This typedef defines a name for the frequently used vectors over the float type.

Definition at line 421 of file cmtkVector.h.

typedef TemplateArray<int> cmtk::IntArray

Array of (signed) integer values.

Definition at line 662 of file cmtkTemplateArray.h.

typedef std::map<int,SegmentationLabel> cmtk::SegmentationLabelMap

Map from numerical IDs to labels.

Definition at line 68 of file cmtkSegmentationLabel.h.

typedef TemplateArray<short> cmtk::ShortArray

Array of signed short values.

Definition at line 656 of file cmtkTemplateArray.h.

typedef SmartConstPointer<Self> cmtk::SplineWarpXform::SmartConstPtr [inherited]

Smart pointer to const SplineWarpXform.

Reimplemented from cmtk::WarpXform.

Definition at line 74 of file cmtkSplineWarpXform.h.

typedef SmartPointer<Self> cmtk::SplineWarpXform::SmartPtr [inherited]

Smart pointer to SplineWarpXform.

Reimplemented from cmtk::WarpXform.

Definition at line 71 of file cmtkSplineWarpXform.h.

template<int DIM>
typedef SmartPointer<Self> cmtk::FilterMaskPixel< DIM >::SmartPtr [inherited]

Smart pointer.

Definition at line 68 of file cmtkFilterMask.h.

template<int DIM>
typedef SmartPointer<Self> cmtk::FilterMask< DIM >::SmartPtr [inherited]

Smert pointer to this class.

Definition at line 119 of file cmtkFilterMask.h.

typedef ActiveDeformationModel<SplineWarpXform> cmtk::SplineActiveDeformationModel

Spline warp active deformation model.

Definition at line 107 of file cmtkActiveDeformationModel.h.

typedef WarpXform cmtk::SplineWarpXform::Superclass [inherited]

Parent class.

Definition at line 68 of file cmtkSplineWarpXform.h.

template<int DIM>
typedef std::vector< FilterMaskPixel<DIM> > cmtk::FilterMask< DIM >::Superclass [inherited]

Direct parent class.

Definition at line 116 of file cmtkFilterMask.h.

typedef TemplateArray<unsigned short> cmtk::UShortArray

Array of unsigned short values.

Definition at line 659 of file cmtkTemplateArray.h.

typedef FixedVector<3,Types::Coordinate> cmtk::Vector3D

Convenience typedef: vectors in 3D coordinate space.

Definition at line 49 of file cmtkVector3D.h.


Enumeration Type Documentation

anonymous enum

Identifiers for coordinate axes.

Note:
It is very important that the enumeration constants remain defined equal to the integer constants 0 through 2, since quite a bit of code depends on this for array indexing.
Enumerator:
AXIS_X 

x-axis.

AXIS_Y 

y-axis.

AXIS_Z 

z-axis.

Definition at line 74 of file cmtkTypes.h.

Class of image data.

Enumerator:
DATACLASS_GREY 

Grey-level data.

DATACLASS_LABEL 

(Segmented) label data.

DATACLASS_UNKNOWN 

Data type unknown.

Definition at line 85 of file cmtkTypes.h.

Scalar data type identifiers.

Enumerator:
TYPE_BYTE 

Unsigned byte data (8 bit, range 0-255).

TYPE_CHAR 

Signed byte data (8 bit, range -128-127).

TYPE_SHORT 

Signed byte data (16 bit, range -32768-32767).

TYPE_USHORT 

Unsigned byte data (16 bit, range 0-65535).

TYPE_INT 

Signed integer data (32 bit).

TYPE_UINT 

Unsigned integer data (32 bits).

TYPE_FLOAT 

Single precision float data (32 bits).

TYPE_DOUBLE 

Double precision float data (64 bits).

TYPE_NONE 

No data type defined.

Definition at line 102 of file cmtkTypes.h.


Function Documentation

template<class W >
cmtk::ActiveDeformationModel< W >::ActiveDeformationModel ( const std::list< SmartPointer< W > >  deformationList,
const unsigned int  numberOfModes,
const bool  includeScaleInModel = true,
const bool  includeReferenceInModel = true 
) [inherited]

Build deformation model from list of deformations.

All deformations in the list must be of the same type, have the same arrangement of control points, and must be defined on the same domain (reference image).

Definition at line 49 of file cmtkActiveDeformationModel.cxx.

References cmtk::Memory::DeleteArray(), and cmtk::StdErr.

cmtk::ActiveShapeModel::ActiveShapeModel ( CoordinateVector::SmartPtr mean,
DirectionSet::SmartPtr modes,
CoordinateVector::SmartPtr modeVariances 
) [inherited]

Construct using given mean and modes.

Definition at line 51 of file cmtkActiveShapeModel.cxx.

template<class T >
void cmtk::Histogram< T >::AddHistogram ( const Self other ) [inherited]

Add values from another histogram.

Adding is done by corresponding bins. The caller has to make sure that both histograms actually have the same number and arrangement of bins. It is also a good idea to ensure that the data range of these bins is the same in both objects. Both can be guaranteed if one histogram was created from the other by a call to Clone() for example.

Parameters:
otherA pointer to the other histogram. Its bin values are added to this object's bins.

Definition at line 87 of file cmtkHistogram.cxx.

References cmtk::Histogram< T >::GetNumBins(), and cmtk::Histogram< T >::m_Bins.

void cmtk::MatchedLandmarkList::AddLandmarkLists ( const LandmarkList sourceList,
const LandmarkList targetList 
) [inherited]

Initialize from two separate landmark lists.

Definition at line 44 of file cmtkMatchedLandmarkList.cxx.

References cmtk::LandmarkList::FindByName().

template<class TDataType >
void cmtk::Accumulators::Avg< TDataType >::AddValue ( const TDataType &  value ) [inline, inherited]

Add a value.

Definition at line 66 of file cmtkAccumulatorAvg.h.

template<class TDataType >
void cmtk::Accumulators::Max< TDataType >::AddValue ( const TDataType &  value ) [inline, inherited]

Add a value.

Definition at line 65 of file cmtkAccumulatorMax.h.

template<class TDataType >
void cmtk::Accumulators::Sum< TDataType >::AddValue ( const TDataType &  value ) [inline, inherited]

Add a value.

Definition at line 66 of file cmtkAccumulatorSum.h.

template<class T>
void cmtk::Histogram< T >::AddWeightedSymmetricKernel ( const size_t  bin,
const size_t  kernelRadius,
const T *  kernel,
const T  factor = 1 
) [inherited]

Add weighted symmetric kernel to histogram.

Parameters:
binHistogram bin index
kernelRadiusKernel radius
factorKernel multiplication factor

Definition at line 46 of file cmtkHistogram.txx.

Referenced by cmtk::CongealingFunctional< TXform >::EvaluateProbabilisticThread(), cmtk::CongealingFunctional< TXform >::EvaluateThread(), and cmtk::FilterVolume::RohlfingFilter().

template<class T>
void cmtk::Histogram< T >::AddWeightedSymmetricKernelFractional ( const double  bin,
const size_t  kernelRadius,
const T *  kernel,
const T  factor = 1 
) [inherited]

Add weighted symmetric kernel to histogram, spreading contriubtions between adjacent bins.

Parameters:
binHistogram bin index
kernelRadiusKernel radius
factorKernel multiplication factor

Definition at line 63 of file cmtkHistogram.txx.

Referenced by cmtk::TemplateArray< T >::GetEntropy().

void cmtk::ScalarImage::AdjustAspect ( const bool  interpolate = false ) [inherited]

Adjust aspect ratio.

Definition at line 819 of file cmtkScalarImage.cxx.

References cmtk::ScalarImage::AdjustAspectX(), and cmtk::ScalarImage::AdjustAspectY().

void cmtk::ScalarImage::AdjustAspectX ( const bool  interpolate = false ) [private, inherited]

Adjust aspect ratio by stretching in X-direction.

Definition at line 895 of file cmtkScalarImage.cxx.

References cmtk::TypedArray::Create(), and cmtk::ScalarImage::m_Dims.

Referenced by cmtk::ScalarImage::AdjustAspect().

void cmtk::ScalarImage::AdjustAspectY ( const bool  interpolate = false ) [private, inherited]

Adjust aspect ratio by stretching in Y-direction.

Definition at line 829 of file cmtkScalarImage.cxx.

References cmtk::TypedArray::Create(), and cmtk::ScalarImage::m_Dims.

Referenced by cmtk::ScalarImage::AdjustAspect().

void cmtk::ScalarImage::AdjustToIsotropic ( const Types::Coordinate  pixelSize,
const bool  interpolate = false 
) [inherited]

Adjust aspect ratio.

Definition at line 800 of file cmtkScalarImage.cxx.

Referenced by cmtk::QtTriplanarWindow::slotSwitchImageCo(), and cmtk::QtTriplanarWindow::slotSwitchImageSa().

cmtk::AffineXform::AffineXform ( const AffineXform other ) [inherited]
cmtk::AffineXform::AffineXform ( const Types::Coordinate  matrix[4][4],
const Types::Coordinate center = NULL 
) [inherited]

Create transformation from transformation matrix.

Parameters:
matrixThe homogeneous 4x4 affine transformation matrix.
centerIf non-NULL, this parameter points to a three-coordinate vector defining the rotation center of the constructed transformation. This does only effect the computation of the translation vector when decomposing the given matrix into its parameter representation.

Definition at line 73 of file cmtkAffineXform.cxx.

cmtk::AffineXform::AffineXform ( const MatrixType matrix,
const Types::Coordinate center = NULL 
) [inherited]

Create transformation from transformation matrix.

Parameters:
matrixThe homogeneous 4x4 affine transformation matrix.
centerIf non-NULL, this parameter points to a three-coordinate vector defining the rotation center of the constructed transformation. This does only effect the computation of the translation vector when decomposing the given matrix into its parameter representation.

Definition at line 88 of file cmtkAffineXform.cxx.

cmtk::AffineXform::AffineXform ( const Types::Coordinate  matrix[4][4],
const Types::Coordinate  xlate[3],
const Types::Coordinate  center[3] 
) [inherited]

Create transformation from transformation matrix.

Translation vector and rotation center are given in addition to the 4x4 transformation matrix..

Parameters:
matrixThe homogeneous 4x4 affine transformation matrix. If a translation is defined by this matrix, it is ignored.
xlateTranslation of the constructed transformation.
centerRotation center of the constructed transformation.

Definition at line 103 of file cmtkAffineXform.cxx.

void cmtk::ActiveShapeModel::Allocate ( const unsigned int  numberOfPoints,
const unsigned int  numberOfModes 
) [protected, inherited]

Allocate data structures.

If this instance already has data structures allocated, these are deallocated first.

Definition at line 238 of file cmtkActiveShapeModel.cxx.

void cmtk::Xform::AllocateParameterVector ( const size_t  numberOfParameters ) [protected, inherited]

Allocate parameter vector.

Definition at line 49 of file cmtkXform.cxx.

References NULL.

Referenced by cmtk::AffineXform::AffineXform().

void cmtk::ScalarImage::ApplyBinaryMask ( const ScalarImage maskImage,
const bool  invert = false 
) [virtual, inherited]

Apply binary mask to image.

Parameters:
maskImageBinary mask image.
invertIf this flag is set, then all pixels are set to NULL where the mask image is zero. Otherwise (default) the pixels are set to NULL where the mask image is non-zero.

Definition at line 247 of file cmtkScalarImage.cxx.

References cmtk::TypedArray::Get().

template<class T >
void cmtk::TemplateArray< T >::ApplyFunctionDouble ( typename Self::FunctionTypeDouble  f ) [virtual, inherited]

Apply real function to data.

Implements cmtk::TypedArray.

Definition at line 249 of file cmtkTemplateArray.txx.

template<class T >
void cmtk::TemplateArray< T >::ApplyFunctionFloat ( typename Self::FunctionTypeFloat  f ) [virtual, inherited]

Apply real function to data.

Implements cmtk::TypedArray.

Definition at line 236 of file cmtkTemplateArray.txx.

template<class T >
void cmtk::TemplateArray< T >::ApplyFunctionObject ( const TypedArrayFunction f ) [virtual, inherited]

Apply function class to the values of this array.

Implements cmtk::TypedArray.

Definition at line 336 of file cmtkTemplateArray.txx.

ScalarImage* cmtk::ScalarImage::ApplyGaussFilter ( const Types::Coordinate  stdDev ) [inline, inherited]

Replace pixel data with Gauss-filtered data.

Definition at line 286 of file cmtkScalarImage.h.

void cmtk::DeformationField::ApplyInPlace ( Self::SpaceVectorType v ) const [virtual, inherited]

Apply transformation to vector in-place.

Implements cmtk::Xform.

Definition at line 114 of file cmtkDeformationField.cxx.

virtual void cmtk::SplineWarpXform::ApplyInPlace ( Self::SpaceVectorType v ) const [inline, virtual, inherited]

Replace existing vector with transformed location.

Implements cmtk::Xform.

Definition at line 244 of file cmtkSplineWarpXform.h.

Referenced by cmtk::Slicer::ExecuteSplineWarp().

bool cmtk::SplineWarpXform::ApplyInverse ( const Self::SpaceVectorType v,
Self::SpaceVectorType u,
const Types::Coordinate  accuracy = 0.01 
) const [virtual, inherited]

Return origin of warped vector.

Note that since this class of transformation is not closed under inversion this function computes only a more or less accurate numerical approximation to the actual origin of a warped vector. Note also that this computation is everything but computationally efficient.

Returns:
True is the given inverse was succesfully comuted, false if the given warped vector was outside the target domain of this transformation.

Implements cmtk::Xform.

Definition at line 46 of file cmtkSplineWarpXform_Inverse.cxx.

bool cmtk::SplineWarpXform::ApplyInverseInPlace ( Self::SpaceVectorType v,
const Types::Coordinate  accuracy = 0.01 
) const [virtual, inherited]

Return origin of warped vector.

Note that since this class of transformation is not closed under inversion this function computes only a more or less accurate numerical approximation to the actual origin of a warped vector. Note also that this computation is everything but computationally efficient.

Returns:
True is the given inverse was succesfully comuted, false if the given warped vector was outside the target domain of this transformation.

Implements cmtk::Xform.

Definition at line 54 of file cmtkSplineWarpXform_Inverse.cxx.

Referenced by cmtk::ReformatVolume::GetTransformedReferenceGrey(), cmtk::ReformatVolume::GetTransformedReferenceGreyAvg(), cmtk::ReformatVolume::GetTransformedReferenceJacobianAvgThread(), and cmtk::ReformatVolume::GetTransformedReferenceLabel().

bool cmtk::SplineWarpXform::ApplyInverseInPlaceWithInitial ( Self::SpaceVectorType v,
const Self::SpaceVectorType initial,
const Types::Coordinate  accuracy = 0.01 
) const [virtual, inherited]

Return origin of warped vector.

Note that since this class of transformation is not closed under inversion this function computes only a more or less accurate numerical approximation to the actual origin of a warped vector. Note also that this computation is everything but computationally efficient.

Parameters:
vInput location; is replaced with the inverse transformation applied to it upon return.
initialInitial estimate for the original location. Search goes from here. This is useful for looking up the original locations of a large number of closely located vectors, for example all pixels in an image.
accuracyAccuracy of the inversion, i.e., residual inverse consistency error threshold.
Returns:
True is the given inverse was succesfully comuted, false if the given warped vector was outside the target domain of this transformation.

Reimplemented from cmtk::Xform.

Definition at line 118 of file cmtkSplineWarpXform_Inverse.cxx.

References cmtk::Matrix3x3< T >::GetTranspose(), cmtk::Matrix3x3< T >::Invert3x3(), and cmtk::FixedVector< NDIM, T >::RootSumOfSquares().

ScalarImage* cmtk::ScalarImage::ApplyLaplace2DFilter (  ) [inline, inherited]

Replace pixel data with Laplace-filtered data.

Definition at line 312 of file cmtkScalarImage.h.

ScalarImage* cmtk::ScalarImage::ApplyMedianFilter ( const byte  range ) [inline, inherited]

Replace pixel data with median-filtered data.

Definition at line 272 of file cmtkScalarImage.h.

void cmtk::DataGrid::ApplyMirrorPlane ( const int  axis = AXIS_X ) [inherited]

Replace data with mirrored version.

Definition at line 273 of file cmtkDataGrid.cxx.

ScalarImage* cmtk::ScalarImage::ApplySobel2DFilter (  ) [inline, inherited]

Replace pixel data with Sobel-filtered data.

Definition at line 300 of file cmtkScalarImage.h.

ScalarImage* cmtk::ScalarImage::ApplySobelFilter ( const bool  horizontal,
const bool  absolute = false 
) [inline, inherited]

Replace pixel data with 1-D Sobel-filtered data.

Definition at line 324 of file cmtkScalarImage.h.

static Types::Coordinate cmtk::CubicSpline::ApproxSpline ( const int  k,
const Types::Coordinate  t 
) [inline, static, inherited]

Compute the value of a given approximating spline function.

Definition at line 81 of file cmtkCubicSpline.h.

Referenced by cmtk::SplineWarpXformUniformVolume::RegisterVolumeAxis().

static Types::Coordinate cmtk::CubicSpline::ApproxSpline1 ( const Types::Coordinate  t ) [inline, static, inherited]

Compute a value of the 1st approximating spline function.

Definition at line 63 of file cmtkCubicSpline.h.

static Types::Coordinate cmtk::CubicSpline::ApproxSpline2 ( const Types::Coordinate  t ) [inline, static, inherited]

Compute a value of the 2nd approximating spline function.

Definition at line 69 of file cmtkCubicSpline.h.

static Types::Coordinate cmtk::CubicSpline::ApproxSpline3 ( const Types::Coordinate  t ) [inline, static, inherited]

Compute a value of the 3rd approximating spline function.

Definition at line 75 of file cmtkCubicSpline.h.

cmtk::BitVector::BitVector ( const size_t  size,
const bool  initial = false 
) [inherited]

Constructor.

Parameters:
sizeNumber of bits handled by this object.
initialInitial value for the bits in the array.

Definition at line 46 of file cmtkBitVector.cxx.

References cmtk::Memory::Set().

cmtk::BitVector::BitVector ( const size_t  size,
byte *const   bitset 
) [inherited]

Constructor.

Parameters:
sizeNumber of bits handled by this object.
bitsetByte array that is used to initialize the array.

Definition at line 57 of file cmtkBitVector.cxx.

void cmtk::TypedArray::BlockReverse ( const size_t  fromOffset,
const size_t  blockLength 
) [virtual, inherited]

Revert order of items in a given range.

Attention:
This implementation only works for item sizes up to 16 bytes (128 bits); above that, the internal buffer size needs to be increased.

Definition at line 93 of file cmtkTypedArray.cxx.

Referenced by cmtk::DataGrid::MirrorPlaneInPlace().

template<class T >
void cmtk::TemplateArray< T >::BlockSet ( const Types::DataItem  value,
const size_t  fromOffset,
const size_t  toOffset 
) [virtual, inherited]

Set data block to constant value.

Implements cmtk::TypedArray.

Definition at line 350 of file cmtkTemplateArray.txx.

void cmtk::TypedArray::BlockSwap ( const size_t  fromOffset,
const size_t  toOffset,
const size_t  blockLength 
) [virtual, inherited]

Exchange two data blocks.

Internally, the data is copied in chunks of up to 2KB (currently), using an 'automatic' intermediate buffer of that size.

Definition at line 60 of file cmtkTypedArray.cxx.

Referenced by cmtk::DataGrid::MirrorPlaneInPlace().

template<class TDistanceDataType >
void cmtk::UniformDistanceMap< TDistanceDataType >::BuildDistanceMap ( const UniformVolume volume,
const byte  flags,
const Types::DataItem  value = 0,
const Types::DataItem  window = 0 
) [private, inherited]
void cmtk::AffineXform::CanonicalRotationRange (  ) [private, inherited]

Correct rotation parameters to canonical range -180 to 180.

Definition at line 490 of file cmtkAffineXform.cxx.

References cmtk::Xform::m_Parameters.

Referenced by cmtk::AffineXform::SetParameter(), and cmtk::AffineXform::SetParamVector().

void cmtk::AffineXform::ChangeCenter ( const Self::SpaceVectorType center ) [inherited]

Create equivalent transformation with different rotational center.

In fact, this function only computes a new translation vector reflecting the changed rotation center. The transformation matrix itself is not changed.

Definition at line 222 of file cmtkAffineXform.cxx.

References cmtk::AffineXform::RetCenter(), cmtk::AffineXform::RetXlate(), and cmtk::AffineXform::RotateScaleShear().

Referenced by cmtk::MakeInitialAffineTransformation::AlignDirectionVectors(), cmtk::MakeInitialAffineTransformation::AlignPrincipalAxes(), cmtk::ParametricPlane::GetAlignmentXform(), and cmtk::AffineXform::MakeInverse().

template<class T>
Matrix4x4< T > & cmtk::Matrix4x4< T >::ChangeCoordinateSystem ( const FixedVector< 3, T > &  newX,
const FixedVector< 3, T > &  newY 
) [inherited]

Change reference coordinate system.

Definition at line 487 of file cmtkMatrix4x4.cxx.

template<class T >
void cmtk::TemplateArray< T >::ChangeEndianness (  ) [virtual, inherited]

Change endianness of data.

Implements cmtk::TypedArray.

Definition at line 315 of file cmtkTemplateArray.txx.

template<class T >
T cmtk::MathUtil::CholeskyDeterminant ( const Matrix2D< T > &  matrix,
int  n 
) [static, inherited]

Determinant of an n x n square matrix.

Definition at line 221 of file cmtkMathUtil_LinAlg.cxx.

int cmtk::VolumeClipping::ClipX ( Types::Coordinate fromFactor,
Types::Coordinate toFactor,
const Vector3D offset,
const Types::Coordinate  initFromFactor = 0,
const Types::Coordinate  initToFactor = 1,
const bool  lowerClosed = false,
const bool  upperClosed = false 
) const [inherited]

Compute line-to-volume intersection.

This function computes the part of a lines that lies within a given volume.

Returns:
This function returns 1 if and only if there is a non-empty intersection of line and volume. In this case, the intersection is described by fromFactor and toFactor.
Parameters:
fromFactorIf the function returned 1, this variable holds the relative distance to the entrance point of the line into the volume. 0 means the line's starting point, 1 means its end.
toFactorIf the function returned 1, this variable holds the relative distance to the exit point of the line from the volume. Possible values range from 0 to 1 and have the same meaning as fromFactor.
offsetThis 3D vector is the line's starting point.
initFromFactorThe fromFactor parameter's value is initialized with this value. It is therefore the lower bound of the parameter range that is available for intersection.
initToFactorThe toFactor parameter's value is initialized with this value. It is therefore the upper bound of the parameter range that is available for intersection. One application for this parameter is to use a value bigger than 1, even if [0,1] is the allowed range. Then, by testing if toFactor == 1.0, it can be determined whether clipping set the value to 1. This, for example allows to tell closed from open intervals, which may be important for subsequent computation such as volume probing.
lowerClosedThis flag defines whether lower range boundaries are open (value 0, default) or closed (value 1). In case of an open range, the bounding value itself is not an element of the range. Thus, if an intersection is entirely on the boundary, then it is empty in case of an open range.
upperClosedThis flag has the same meaning and default as lowerClosed, but refers to the ranges' upper bounds.

Definition at line 54 of file cmtkVolumeClipping.cxx.

Referenced by cmtk::VoxelMatchingAffineFunctional::ClipX(), cmtk::ImagePairAffineRegistrationFunctional::ClipX(), and cmtk::AffineMultiChannelRegistrationFunctional< TMultiChannelMetricFunctional >::ClipX().

int cmtk::VolumeClipping::ClipY ( Types::Coordinate fromFactor,
Types::Coordinate toFactor,
const Vector3D offset,
const Types::Coordinate  initFromFactor = 0,
const Types::Coordinate  initToFactor = 1 
) const [inherited]

Compute plane-to-volume intersection.

This function computes the part of a plane that intersects with a given volume. The intersection is only tested with respect to the dY direction. for the range of relative positions returned by fromFactor and toFactor, IntersectX can be used to computed the exact 2D intersection.

Parameters and return value are identical to IntersectionX.

Definition at line 90 of file cmtkVolumeClipping.cxx.

Referenced by cmtk::VoxelMatchingAffineFunctional::ClipY(), cmtk::ImagePairAffineRegistrationFunctional::ClipY(), and cmtk::AffineMultiChannelRegistrationFunctional< TMultiChannelMetricFunctional >::ClipY().

int cmtk::VolumeClipping::ClipZ ( Types::Coordinate fromFactor,
Types::Coordinate toFactor,
const Vector3D offset,
const Types::Coordinate  initFromFactor = 0,
const Types::Coordinate  initToFactor = 1 
) const [inherited]

Compute volume-to-volume intersection.

This function computes the part of a volume that intersects with a given volume. The intersection is only tested with respect to the dZ direction. for the range of relative positions returned by fromFactor and toFactor, IntersectY and afterwards IntersectX can be used to computed the exact 3D intersection.

Parameters and return value are identical to IntersectionX.

Definition at line 131 of file cmtkVolumeClipping.cxx.

Referenced by cmtk::VoxelMatchingAffineFunctional::ClipZ(), cmtk::ImagePairAffineRegistrationFunctional::ClipZ(), and cmtk::AffineMultiChannelRegistrationFunctional< TMultiChannelMetricFunctional >::ClipZ().

Self::SmartPtr cmtk::SplineWarpXform::Clone (  ) const [inline, inherited]

Clone and return smart pointer.

Reimplemented from cmtk::Xform.

Definition at line 95 of file cmtkSplineWarpXform.h.

ScalarImage * cmtk::ScalarImage::Clone (  ) const [virtual, inherited]
ScalarImage * cmtk::ScalarImage::Clone ( const bool  clonePixelData ) [virtual, inherited]

Clone (duplicate) this object.

This function optionally allows to reference the original pixel data rather than duplicating it. This is useful when the cloned object is only generated as an intermediate object before the application of an in-place image filter. In this case, not cloning the pixel data saves significant heap operations.

Note:
Note that this function is not a const member since referencing the original image data requires modifying its reference counter.

Definition at line 383 of file cmtkScalarImage.cxx.

References cmtk::ScalarImage::m_Dims, cmtk::ScalarImage::m_ImageOrigin, cmtk::ScalarImage::ScalarImage(), and cmtk::ScalarImage::SetImageOrigin().

BitVector * cmtk::BitVector::Clone (  ) const [inherited]

Create copy of this object.

Definition at line 69 of file cmtkBitVector.cxx.

SplineWarpXform * cmtk::SplineWarpXform::CloneVirtual (  ) const [protected, virtual, inherited]
template<class T >
Matrix3x3< T > & cmtk::Matrix3x3< T >::Compose ( const Types::Coordinate  params[8] ) [inherited]

Compose from canonical parameters.

Definition at line 81 of file cmtkMatrix3x3.cxx.

Referenced by cmtk::Registration2d2d::Register().

template<class W >
W * cmtk::ActiveDeformationModel< W >::Compose ( const Types::Coordinate weights = NULL ) [inherited]

Compose deformation from mean deformation and modes of variation.

Definition at line 181 of file cmtkActiveDeformationModel.cxx.

template<class T >
Matrix4x4< T > & cmtk::Matrix4x4< T >::Compose ( const Types::Coordinate  params[15],
const bool  logScaleFactors = false 
) [inherited]

Compose from canonical parameters.

Definition at line 101 of file cmtkMatrix4x4.cxx.

Referenced by cmtk::AffineXform::MakeInverse().

void cmtk::AffineXform::ComposeMatrix (  ) [protected, inherited]
template<class TDistanceDataType >
void cmtk::UniformDistanceMap< TDistanceDataType >::ComputeEDT ( DistanceDataType *const   distance ) [private, inherited]

Compute 3-D Euclidean Distance Transformation.

Definition at line 153 of file cmtkUniformDistanceMap.cxx.

References cmtk::ThreadPool::GetNumberOfThreads(), and cmtk::ThreadPool::Run().

template<class TDistanceDataType >
void cmtk::UniformDistanceMap< TDistanceDataType >::ComputeEDT2D ( DistanceDataType *const   plane,
std::vector< DistanceDataType > &  gTemp,
std::vector< DistanceDataType > &  hTemp 
) [private, inherited]

Compute 2-D Euclidean Distance Transformation for one image plane.

Definition at line 239 of file cmtkUniformDistanceMap.cxx.

Referenced by cmtk::UniformDistanceMap< TDistanceDataType >::ComputeEDTThreadPhase1().

template<class TDistanceDataType >
void cmtk::UniformDistanceMap< TDistanceDataType >::ComputeEDTThreadPhase1 ( void *const   args,
const size_t  taskIdx,
const size_t  taskCnt,
const size_t  threadIdx,
const   size_t 
) [static, private, inherited]
template<class TDistanceDataType >
void cmtk::UniformDistanceMap< TDistanceDataType >::ComputeEDTThreadPhase2 ( void *const   args,
const size_t  taskIdx,
const size_t  taskCnt,
const size_t  threadIdx,
const   size_t 
) [static, private, inherited]
template<class T >
void cmtk::MathUtil::ComputeEigensystem ( const Matrix2D< T > &  matrix,
Matrix2D< T > &  eigensystem,
std::vector< T > &  eigenvalues 
) [static, inherited]

Compute eigensystem and eigenvalues for square real matrix using Jacobi rotation.

Definition at line 56 of file cmtkMathUtil_LinAlg.cxx.

References cmtk::Matrix2D< T >::GetNumberOfColumns(), cmtk::Matrix2D< T >::GetNumberOfRows(), and cmtk::StdErr.

template<class T >
void cmtk::MathUtil::ComputeEigenvalues ( const Matrix2D< T > &  matrix,
std::vector< T > &  eigenvalues 
) [static, inherited]

Compute eigenvalues for square real matrix using Jacobi rotation.

Definition at line 103 of file cmtkMathUtil_LinAlg.cxx.

References cmtk::Matrix2D< T >::GetNumberOfColumns(), cmtk::Matrix2D< T >::GetNumberOfRows(), and cmtk::StdErr.

template<class T>
void cmtk::Matrix3x3< T >::ComputeEigenvalues ( T(&)  lambda[3] ) const [inherited]

Compute eigenvalues.

Definition at line 383 of file cmtkMatrix3x3.cxx.

References M_PI.

template<class TAccumulator >
ScalarImage * cmtk::UniformVolume::ComputeProjection ( const int  axis ) const [inherited]

Return projection (e.g., MIP, sum) along one axis.

This function calls its equivalent in DataGrid and adds calibration info (i.e., correct pixel sizes) to the resulting image.

Note:
The pixel size if taken from the size of the first grid element along each axis -- non-uniform spacings will lead to incorrect results.

Reimplemented from cmtk::DataGrid.

Definition at line 171 of file cmtkUniformVolume.txx.

References cmtk::AXIS_X, cmtk::AXIS_Y, and cmtk::AXIS_Z.

template<class TAccumulator >
ScalarImage * cmtk::DataGrid::ComputeProjection ( const int  axis ) const [inherited]

Return maximum-intensity projection MIP along one axis.

Reimplemented in cmtk::UniformVolume.

Definition at line 43 of file cmtkDataGrid.txx.

References cmtk::AXIS_X, cmtk::AXIS_Y, cmtk::AXIS_Z, cmtk::TypedArray::Get(), and cmtk::TypedArray::GetType().

void cmtk::AffineXform::Concat ( const AffineXform other ) [inherited]
void cmtk::WarpXform::ConcatAffine ( const AffineXform affineXform ) [inherited]

Concat affine transformation.

Definition at line 314 of file cmtkWarpXform.cxx.

References cmtk::AffineXform::ApplyInPlace().

float cmtk::ActiveShapeModel::Construct ( const Types::Coordinate *const *  trainingSet,
const unsigned int  numberOfSamples,
const unsigned int  numberOfPoints,
const unsigned int  numberOfModes 
) [inherited]

Construct model.

Parameters:
trainingSetThe training set. This is a an array with size [numberOfSamples]. Each entry is a pointer to an array of size [numberOfPoints] Types::Coordinate values. Each of these latter arrays is a sample vector from the training set, for example a sequential concatenation of 2-D or 3-D point coordinates. The order of these values within the vectors is irrelevant, as long as the order is the same in all vectors. This order also defines the order of parameters in the generated model.
numberOfSamplesThe number of samples in the training set. This is the size of the pointer array given as parameter "trainingSet".
numberOfPointsThis is the number of values in each array pointed to by a pointer in the "trainingSet" array.
numberOfModesNumber of modes in the generated model. This can be at most as many as "numberOfSamples", the number of samples in the training set. If the value of this parameter is to large, it will automatically be reduced to equal numberOfSamples.
Returns:
Percentage of the total variance of the training set that is explained by the generated model.

Definition at line 60 of file cmtkActiveShapeModel.cxx.

References cmtk::StdErr.

template<class T >
TypedArray::SmartPtr cmtk::TemplateArray< T >::Convert ( const ScalarDataType  dtype ) const [virtual, inherited]

Convert to typed array of any given template type.

Todo:
This should somehow preserve PaddingFlag and Padding of the original array.

Implements cmtk::TypedArray.

Definition at line 192 of file cmtkTemplateArray.txx.

template<class T >
void * cmtk::TemplateArray< T >::ConvertSubArray ( const ScalarDataType  dtype,
const size_t  fromIdx,
const size_t  len 
) const [virtual, inherited]

Convert a sub-array to any given primitive data type.

Todo:
It would probably be a good idea to preserve PaddingData as much as possible during the conversion.

Implements cmtk::TypedArray.

Definition at line 202 of file cmtkTemplateArray.txx.

References cmtk::TypeItemSize().

template<class T >
void cmtk::TemplateArray< T >::ConvertSubArray ( void *const   destination,
const ScalarDataType  dtype,
const size_t  fromIdx,
const size_t  len 
) const [virtual, inherited]

Convert a sub-array to given primitive data type into existing array.

Implements cmtk::TypedArray.

Definition at line 262 of file cmtkTemplateArray.txx.

References cmtk::TYPE_BYTE, cmtk::TYPE_CHAR, cmtk::TYPE_DOUBLE, cmtk::TYPE_FLOAT, cmtk::TYPE_INT, cmtk::TYPE_SHORT, and cmtk::TYPE_USHORT.

template<class T >
Vector<T> cmtk::CoordMult ( const Vector< T > &  p,
const Vector< T > &  q 
)

Coordinatewise multiplication operator.

Two vectors are multiplied element by element. The result is returned as an automatic variable.

Definition at line 98 of file cmtkVector.txx.

References cmtk::Vector< T >::Dim, and cmtk::Vector< T >::Elements.

template<class T >
T cmtk::MathUtil::Correlation ( const std::vector< T > &  x,
const std::vector< T > &  y 
) [static, inherited]

Normalized correlation coefficient between two float vectors.

Definition at line 118 of file cmtkMathUtil_Statistics.txx.

TypedArray::SmartPtr cmtk::TypedArray::Create ( const ScalarDataType  dtype,
void *const   data,
const size_t  size,
const bool  freeArray = true,
const bool  paddingFlag = false,
const void *  paddingData = NULL 
) [static, inherited]
TypedArray::SmartPtr cmtk::TypedArray::Create ( const ScalarDataType  dtype,
const size_t  size 
) [static, inherited]

Create typed data array, allocating new memory for the items array.

Parameters:
dtypeType specifier.
sizeNumber of items in the array to be allocated. Memory will be freed when the created object is destroyed. The values in the array are not initialized.
Returns:
A pointer to a new typed array object, or NULL if an error occurred.

Definition at line 153 of file cmtkTypedArray.cxx.

References cmtk::TYPE_BYTE, cmtk::TYPE_CHAR, cmtk::TYPE_DOUBLE, cmtk::TYPE_FLOAT, cmtk::TYPE_INT, cmtk::TYPE_SHORT, and cmtk::TYPE_USHORT.

TypedArray::SmartPtr cmtk::DataGrid::CreateDataArray ( const ScalarDataType  dataType,
const bool  setToZero = false 
) [virtual, inherited]

Create data array.

Parameters:
dataTypeID of scalar data type for the array. This is the image pixel type.
setToZeroIf this flag is set, all values in the newly created array will be initialized to zero.

Definition at line 55 of file cmtkDataGrid.cxx.

Referenced by cmtk::UniformVolume::GetInterleavedPaddedSubVolume(), and cmtk::DataGrid::GetReoriented().

void cmtk::CreateSystemLabelColorMap ( SegmentationLabelMap &  map )

Create system label map.

Definition at line 43 of file cmtkSegmentationLabel.cxx.

Referenced by cmtk::Colormap::Colormap().

const char * cmtk::DataClassToString ( const DataClass  dataClass )

Convert data class identifier to string.

Definition at line 75 of file cmtkTypes.cxx.

cmtk::DataGridFilter::DataGridFilter ( DataGrid::SmartPtr  dataGrid ) [explicit, inherited]

Constructor: link to DataGrid object.

Definition at line 47 of file cmtkDataGridFilter.cxx.

cmtk::DataGridMorphologicalOperators::DataGridMorphologicalOperators ( const DataGrid::SmartConstPtr dataGrid ) [inherited]

Constructor: link to DataGrid object.

Definition at line 45 of file cmtkDataGridMorphologicalOperators.cxx.

template<class W >
float cmtk::ActiveDeformationModel< W >::Decompose ( const W *  input,
Types::Coordinate *const   weights = NULL 
) const [inherited]

Decompose a deformation into mean and modes of this model.

Parameters:
inputInput deformation.
weightsWeights of the modes that make up the given input vector. This parameter is optional. If not given, no weights will be returned.
Returns:
The value of the multivariate Gaussian PDF represented by this model atr the location of the input vector.

Definition at line 191 of file cmtkActiveDeformationModel.cxx.

template<class T >
bool cmtk::Matrix3x3< T >::Decompose ( Types::Coordinate  params[8],
const Types::Coordinate center = NULL 
) const [inherited]

Decompose into affine parameters.

Todo:
Currently, we cannot correctly recover the parameters of a transformation that includes a mirroring. Rotation also gets messed up in this case. A possible solution may involve using the determinant to detect the mirror and then come up with something that respects this. Shear is not even supported yet.

Definition at line 123 of file cmtkMatrix3x3.cxx.

References IGS_EPSILON, cmtk::StdErr, and cmtk::Units::UnitBase::Value().

Referenced by cmtk::Registration2d2d::Register().

float cmtk::ActiveShapeModel::Decompose ( const CoordinateVector input,
Types::Coordinate *const   weights = NULL 
) const [inherited]

Decompose a vector into mean and modes of this model.

Parameters:
inputInput vector.
weightsWeights of the modes that make up the given input vector. This parameter is optional. If not given, no weights will be returned.
Returns:
The value of the multivariate Gaussian PDF represented by this model atr the location of the input vector.

Definition at line 194 of file cmtkActiveShapeModel.cxx.

References cmtk::Vector< T >::EuclidNorm(), and M_PI.

template<class T >
bool cmtk::Matrix4x4< T >::Decompose ( Types::Coordinate  params[12],
const Types::Coordinate center = NULL,
const bool  logScaleFactors = false 
) const [inherited]

Decompose into affine parameters.

END OF ADOPTED VTK CODE

Definition at line 161 of file cmtkMatrix4x4.cxx.

References cmtk::Matrix4x4< T >::GetInverse(), cmtk::QRDecomposition< TFloat >::GetR(), cmtk::StdErr, cmtk::Units::UnitBase::Value(), and VTK_AXIS_EPSILON.

bool cmtk::AffineXform::DecomposeMatrix (  ) [protected, inherited]
void cmtk::WarpXform::DeleteParameterActiveFlags (  ) [inherited]

Free bitset for active parameter flags if it exists.

Definition at line 268 of file cmtkWarpXform.cxx.

static Types::Coordinate cmtk::CubicSpline::DerivApproxSpline ( const int  k,
const Types::Coordinate  t 
) [inline, static, inherited]

Compute the derivative of a given approximating spline function.

Definition at line 121 of file cmtkCubicSpline.h.

Referenced by cmtk::SplineWarpXformUniformVolume::RegisterVolumeAxis().

static Types::Coordinate cmtk::CubicSpline::DerivApproxSpline0 ( const Types::Coordinate  t ) [inline, static, inherited]

Compute the derivative of the 0th approximating spline function.

Definition at line 97 of file cmtkCubicSpline.h.

static Types::Coordinate cmtk::CubicSpline::DerivApproxSpline1 ( const Types::Coordinate  t ) [inline, static, inherited]

Compute derivative of the 1st approximating spline function.

Definition at line 103 of file cmtkCubicSpline.h.

static Types::Coordinate cmtk::CubicSpline::DerivApproxSpline2 ( const Types::Coordinate  t ) [inline, static, inherited]

Compute derivative of the 2nd approximating spline function.

Definition at line 109 of file cmtkCubicSpline.h.

static Types::Coordinate cmtk::CubicSpline::DerivApproxSpline3 ( const Types::Coordinate  t ) [inline, static, inherited]

Compute derivative of the 3rd approximating spline function.

Definition at line 115 of file cmtkCubicSpline.h.

static Types::Coordinate cmtk::CubicSpline::DerivInterpSpline ( const int  k,
const Types::Coordinate  t 
) [inline, static, inherited]

Compute derivative of a given interpolating spline function.

Definition at line 241 of file cmtkCubicSpline.h.

static Types::Coordinate cmtk::CubicSpline::DerivInterpSpline0 ( const Types::Coordinate  t ) [inline, static, inherited]

Compute derivative of the 0th interpolating spline function.

Definition at line 217 of file cmtkCubicSpline.h.

static Types::Coordinate cmtk::CubicSpline::DerivInterpSpline1 ( const Types::Coordinate  t ) [inline, static, inherited]

Compute derivative of the 1st interpolating spline function.

Definition at line 223 of file cmtkCubicSpline.h.

static Types::Coordinate cmtk::CubicSpline::DerivInterpSpline2 ( const Types::Coordinate  t ) [inline, static, inherited]

Compute derivative of the 2nd interpolating spline function.

Definition at line 229 of file cmtkCubicSpline.h.

static Types::Coordinate cmtk::CubicSpline::DerivInterpSpline3 ( const Types::Coordinate  t ) [inline, static, inherited]

Compute derivative of the 3rd interpolating spline function.

Definition at line 235 of file cmtkCubicSpline.h.

ScalarImage * cmtk::ScalarImage::Downsample ( const int  factorX,
int  factorY = 0,
ScalarImage *const   target = NULL 
) const [inherited]

Create downsampled copy of this image.

Definition at line 403 of file cmtkScalarImage.cxx.

References cmtk::ScalarImage::CreatePixelData(), cmtk::ScalarImage::SetImageOrigin(), and cmtk::ScalarImage::SetPixelAt().

template<class TFloat >
cmtk::EigenSystemSymmetricMatrix3x3< TFloat >::EigenSystemSymmetricMatrix3x3 ( const Matrix3x3< TFloat > &  matrix,
const bool  sortAbsolute = true 
) [inherited]

Constructor: compute eigensystem of given matrix.

Parameters:
matrixSymmetric 3x3 matrix for which we are computing the eigenvalues and eigenvectors.
sortAbsoluteFlag for sorting by absolute eigenvalues (default) vs. sorting by actual eigenvalues.

Definition at line 41 of file cmtkEigenSystemSymmetricMatrix3x3.txx.

bool cmtk::DataGridMorphologicalOperators::EliminatePaddingVoting ( const int  iterations = 1 ) [inherited]

Eliminating padding data by neighborhood voting.

Returns:
Returns "true" if data was actually changed, "false" if no change was necessary or possible.
Parameters:
iterationsNumber of elimination iterations.

Definition at line 53 of file cmtkDataGridMorphologicalOperators.cxx.

References cmtk::TypedArray::Clone(), cmtk::TypedArray::GetData(), cmtk::TypedArray::GetPaddingFlag(), cmtk::TypedArray::GetPaddingValue(), and cmtk::TypedArray::PaddingDataAt().

Functional::ReturnType cmtk::Functional::EvaluateWithGradient ( Self::ParameterVectorType v,
Self::ParameterVectorType g,
const Types::Coordinate  step = 1 
) [virtual, inherited]

Evaluate functional and also return its gradient.

Definition at line 44 of file cmtkFunctional.cxx.

DataGrid * cmtk::DataGrid::ExtractSliceVirtual ( const int  axis,
const int  plane 
) const [protected, virtual, inherited]

Extract orthogonal slice as a data grid object.

Parameters:
axisCoordinate axis perpendicular to extracted plane
planeIndex of extracted plane

Reimplemented in cmtk::UniformVolume.

Definition at line 430 of file cmtkDataGrid.cxx.

References cmtk::AXIS_X, cmtk::AXIS_Y, cmtk::AXIS_Z, cmtk::TypedArray::GetDataPtr(), cmtk::TypedArray::GetItemSize(), cmtk::TypedArray::GetPaddingFlag(), cmtk::TypedArray::GetPaddingValue(), and cmtk::TypedArray::GetType().

template<class T>
Matrix3x3< T > & cmtk::Matrix3x3< T >::Fill ( const T  value ) [inherited]

Set to constant value.

Definition at line 71 of file cmtkMatrix3x3.cxx.

Referenced by cmtk::DeformationField::GetJacobian(), and cmtk::SplineWarpXform::GetJacobianAtControlPoint().

template<int DIM>
template<class F >
cmtk::FilterMask< DIM >::FilterMask ( const FixedVector< DIM, int > &  dims,
const FixedVector< DIM, Types::Coordinate > &  deltas,
const Types::Coordinate  radius,
filter 
) [inline, inherited]

Constructor.

Definition at line 123 of file cmtkFilterMask.h.

template<int DIM>
cmtk::FilterMaskPixel< DIM >::FilterMaskPixel (  ) [inline, inherited]

Default constructor.

Definition at line 71 of file cmtkFilterMask.h.

template<int DIM>
cmtk::FilterMaskPixel< DIM >::FilterMaskPixel ( const FixedVector< DIM, int > &  location,
const int  relativeIndex,
const Types::DataItem  coefficient 
) [inline, inherited]

Explicit constructor.

Definition at line 75 of file cmtkFilterMask.h.

SmartPointer< Landmark > cmtk::LandmarkList::FindByName ( const char *  name ) [inherited]

Find landmark by name.

Definition at line 59 of file cmtkLandmarkList.cxx.

References NULL.

Referenced by cmtk::MatchedLandmarkList::AddLandmarkLists(), and cmtk::QtTriplanarWindow::slotGoToLandmark().

const SmartPointer< MatchedLandmark > cmtk::MatchedLandmarkList::FindByName ( const char *  name ) const [inherited]

Find landmark by name and return constant pointer.

Definition at line 63 of file cmtkMatchedLandmarkList.cxx.

References NULL.

SmartPointer< MatchedLandmark > cmtk::MatchedLandmarkList::FindByName ( const char *  name ) [inherited]

Find landmark by name.

Definition at line 79 of file cmtkMatchedLandmarkList.cxx.

References NULL.

const SmartPointer< Landmark > cmtk::LandmarkList::FindByName ( const char *  name ) const [inherited]

Find landmark by name and return constant pointer.

Definition at line 43 of file cmtkLandmarkList.cxx.

References NULL.

void cmtk::SplineWarpXform::FindClosestControlPoint ( const Self::SpaceVectorType v,
Self::SpaceVectorType cp 
) const [protected, inherited]

Find nearest (after deformation) control point.

Definition at line 63 of file cmtkSplineWarpXform_Inverse.cxx.

References cmtk::FixedVector< NDIM, T >::RootSumOfSquares().

bool cmtk::UniformVolume::FindVoxel ( const Self::CoordinateVectorType location,
int *const   idx,
Types::Coordinate *const   from,
Types::Coordinate *const   to 
) const [inline, inherited]

Find a voxel in the volume.

Parameters:
locationReal-world coordinates of the location that is to be found.
idxThis array is used to store the index components of the model voxel containing the given location. Values range from 0 to ModelDims[dim-1].
fromReal-world coordinate of the voxel's lower left corner.
toReal-world coordinate of the voxel's upper right corner.
Returns:
A non-zero value is returned if and only if the given location lies within the model volume. If zero is returned, the location is outside and all other output values (see parameters) are invalid.

Definition at line 103 of file cmtkUniformVolume.txx.

Referenced by cmtk::InverseInterpolationVolumeReconstruction< TInterpolator >::ComputeErrorGradientImage().

bool cmtk::UniformVolume::FindVoxel ( const Self::CoordinateVectorType location,
int *const   idx 
) const [inline, inherited]

Find a voxel in the volume.

Parameters:
locationReal-world coordinates of the location that is to be found.
idxThis array is used to store the index components of the model voxel containing the given location. Values range from 0 to ModelDims[dim-1].
Returns:
A non-zero value is returned if and only if the given location lies within the model volume. If zero is returned, the location is outside and all other output values (see parameters) are invalid.

Definition at line 124 of file cmtkUniformVolume.txx.

bool cmtk::UniformVolume::FindVoxelByIndex ( const Self::CoordinateVectorType fracIndex,
int *const   idx,
Types::Coordinate *const   frac 
) const [inline, inherited]

Find a voxel in the volume by fractional index.

Parameters:
fracIndexFractional 3D voxel index.
idxOutput: integer 3D voxel index.
fracOutput: fractional within-voxel location.
Returns:
True value is returned if and only if the given location lies within the model volume. If false is returned, the location is outside and all other output values (see parameters) are invalid.

Definition at line 153 of file cmtkUniformVolume.txx.

void cmtk::GeneralLinearModel::FitModel ( std::vector< TypedArray::SmartPtr > &  y,
const bool  normalizeParameters = true 
) [inherited]

Model y[] distribution and return model parameters a[].

Parameters:
yA vector of TypedArray smart pointers. Each object in this vector points to a pixel array from a different subject in a population.
normalizeParametersIf this flag is set (default), then the linear model parameters are normalized w.r.t. the maghnitudes of the respective measurements.

Definition at line 196 of file cmtkGeneralLinearModel.cxx.

void cmtk::BitVector::Flip (  ) [inherited]

Flip (invert) the whole bitset.

Definition at line 111 of file cmtkBitVector.cxx.

void cmtk::BitVector::Flip ( const size_t  pos ) [inherited]

Flip (invert) one bit.

Definition at line 118 of file cmtkBitVector.cxx.

template<class T >
T cmtk::Matrix3x3< T >::FrobeniusNorm (  ) const [inherited]

Get Frobenius norm.

Definition at line 370 of file cmtkMatrix3x3.cxx.

template<class T >
T cmtk::Matrix4x4< T >::FrobeniusNorm (  ) const [inherited]

Get Frobenius norm.

Definition at line 543 of file cmtkMatrix4x4.cxx.

template<class T >
void cmtk::TemplateArray< T >::GammaCorrection ( const Types::DataItem  gamma ) [virtual, inherited]

Apply gamma correction.

Parameters:
gammaThe gamma correction coefficient.

Implements cmtk::TypedArray.

Definition at line 212 of file cmtkTemplateArray.txx.

References cmtk::Types::Range< T >::m_LowerBound, and cmtk::Types::Range< T >::m_UpperBound.

TypedArray::SmartPtr cmtk::FilterVolume::GaussianFilter ( const UniformVolume volume,
const Units::GaussianSigma width,
const Types::Coordinate  radius = 1.0,
const TypedArray maskData = NULL 
) [static, inherited]

Apply Gaussian filter.

Parameters:
volumeInput 3D image.
widthWidth (standard deviation) of the Gaussian kernel.
radiusFilter radius in multiples of the filter width. Outside the radius (Euclidean distance) the filter is truncated.
maskDataOptional binary mask data array.
Returns:
A newly allocated TypedArray object that can be used, for example, to replace the one held by the input image. The data type of the array is identical to the input array.

Definition at line 57 of file cmtkFilterVolume.cxx.

References cmtk::AXIS_X, cmtk::AXIS_Y, cmtk::AXIS_Z, cmtk::UniformVolume::Deltas(), cmtk::TypedArray::Get(), cmtk::TypedArray::GetDataSize(), cmtk::DataGrid::GetOffsetFromIndex(), cmtk::TypedArray::GetType(), and cmtk::DataGrid::m_Dims.

cmtk::GeneralLinearModel::GeneralLinearModel ( const size_t  nParameters,
const size_t  nData,
const double *  designMatrix 
) [inherited]

Constructor.

This will take care of SVD of the design matrix and perform all necessary pre-computations for the actual modeling.

Definition at line 56 of file cmtkGeneralLinearModel.cxx.

References TOL.

Types::Coordinate * cmtk::ActiveShapeModel::Generate ( Types::Coordinate *const   instance,
const Types::Coordinate modeWeights 
) const [inherited]

Generate a model instance.

Definition at line 167 of file cmtkActiveShapeModel.cxx.

AffineXform * cmtk::ParametricPlane::GetAlignmentXform ( const byte  normalAxis = 0 ) const [inherited]

Get transformation that aligns this plane with the coordinate system.

The object returned by this function represents a rigid transformation that aligns the normal vector of this object with one of the coordinate axes.

Parameters:
normalAxisThe index of the axis to align the normal vector with (0, 1, or 2 for x, y, or z, respectively).

Definition at line 82 of file cmtkParametricPlane.cxx.

References cmtk::MathUtil::ArcTan2(), cmtk::AffineXform::ChangeCenter(), cmtk::ParametricPlane::Normal, cmtk::ParametricPlane::Rho, cmtk::AffineXform::SetAngles(), cmtk::AffineXform::SetXlate(), cmtk::MathUtil::Sign(), and cmtk::Units::UnitBase::Value().

cmtk::TypedArray::SmartPtr cmtk::DataGridMorphologicalOperators::GetBinaryConnectedComponents (  ) const [inherited]

Get connected components of a binary image.

All pixels with non-zero values are considered "foreground," and the result of this function is a partitioning of the foreground into connected components. Connectivity is determined based on 8 neighbours in the 3D grid.

Definition at line 40 of file cmtkDataGridConnectedComponents.cxx.

References cmtk::TypedArray::Create(), cmtk::UnionFind< T >::Find(), cmtk::UnionFind< T >::FindKey(), cmtk::UnionFind< T >::Insert(), cmtk::DataGridMorphologicalOperators::m_DataGrid, cmtk::TYPE_INT, and cmtk::UnionFind< T >::Union().

Referenced by cmtk::ImageOperationConnectedComponents::Apply().

TypedArray::SmartPtr cmtk::DataGridMorphologicalOperators::GetBoundaryMap ( const bool  multiValued = false ) const [inherited]

Return map of region boundaries.

This function returns a byte data array where each pixel is one if it is a boundary pixel, i.e., if one of its neighbours in this object has a different value than it has itself. All other pixels are set to zero.

Parameters:
multiValuedIf this is set (default: false), then the resulting boundary map is multi valued, i.e., instead of setting boundary pixels to "1", they are set to the value present in the image at that location.
Note:
The boundary contours are at least 2 pixels wide since "boundaryness" is a symmetric relationship.

Definition at line 237 of file cmtkDataGridMorphologicalOperators.cxx.

Referenced by cmtk::ImageOperationBoundaryMap::Apply().

Vector3D cmtk::Volume::GetCenter (  ) const [inherited]

Calculate volume center.

Returns:
Returned is the center of the bounding box.

Definition at line 98 of file cmtkVolume.cxx.

FixedVector< 3, Types::Coordinate > cmtk::DataGrid::GetCenterOfMassGrid (  ) const [virtual, inherited]

Get center of mass of pixel data.

Definition at line 565 of file cmtkDataGrid.cxx.

FixedVector< 3, Types::Coordinate > cmtk::DataGrid::GetCenterOfMassGrid ( FixedVector< 3, Types::Coordinate > &  firstOrderMoment ) const [virtual, inherited]

Get center of mass and first-order moments of pixel data.

Definition at line 591 of file cmtkDataGrid.cxx.

const char * cmtk::AnatomicalOrientationBase::GetClosestOrientation ( const char *  desiredOrientation,
const char *const   availableOrientations[] 
) [static, inherited]

Get closest orientation from a list.

This function is used to determine which orientation to bring an image into so it can be written to a file format with limited orientation support (e.g., Analyze).

Definition at line 52 of file cmtkAnatomicalOrientationBase.cxx.

References NULL.

Matrix2D< double > * cmtk::GeneralLinearModel::GetCorrelationMatrix (  ) const [inherited]

Get the parameter correlation matrix from design matrix.

Definition at line 130 of file cmtkGeneralLinearModel.cxx.

UniformVolume::SmartPtr cmtk::UniformVolume::GetCroppedVolume (  ) const [inherited]

Return cropped uniform volume.

Definition at line 83 of file cmtkUniformVolume_Crop.cxx.

References cmtk::META_IMAGE_ORIENTATION, cmtk::META_IMAGE_ORIENTATION_ORIGINAL, and cmtk::META_SPACE.

template<class TInterpolationFunction >
bool cmtk::UniformVolumeInterpolator< TInterpolationFunction >::GetDataAt ( const Vector3D v,
Types::DataItem value 
) const [virtual, inherited]

Get data at location.

This function performs interpolation of one value from m_Volume at location v using the interpolation function given as the class template parameter.

This function should return true if a value can be interpolated from m_Volume at v, and it should return false if v is outside the range where a value can be interpolated (i.e., outside the volume boundaries).

Implements cmtk::UniformVolumeInterpolatorBase.

Definition at line 46 of file cmtkUniformVolumeInterpolator.txx.

bool cmtk::UniformVolumeInterpolatorPartialVolume::GetDataAt ( const Vector3D v,
Types::DataItem value 
) const [virtual, inherited]

Get data at location.

This function performs interpolation of one value from m_Volume at location v using the interpolation function given as the class template parameter.

This function should return true if a value can be interpolated from m_Volume at v, and it should return false if v is outside the range where a value can be interpolated (i.e., outside the volume boundaries).

Implements cmtk::UniformVolumeInterpolatorBase.

Definition at line 49 of file cmtkUniformVolumeInterpolatorPartialVolume.cxx.

template<class TInterpolationFunction >
Types::DataItem cmtk::UniformVolumeInterpolator< TInterpolationFunction >::GetDataDirect ( const int *  imageGridPoint,
const Types::Coordinate insidePixel 
) const [virtual, inherited]

Get data at a pre-computed relative pixel index.

This is faster if we already know the pixel index and fractional coordinate of a location.

Returns:
Interpolated value.

Implements cmtk::UniformVolumeInterpolatorBase.

Definition at line 115 of file cmtkUniformVolumeInterpolator.txx.

Types::DataItem cmtk::UniformVolumeInterpolatorPartialVolume::GetDataDirect ( const int *  imageGridPoint,
const Types::Coordinate insidePixel 
) const [virtual, inherited]

Get data at a pre-computed relative pixel index. This is faster if we already know the pixel index and fractional coordinate of a location.

Implements cmtk::UniformVolumeInterpolatorBase.

Definition at line 130 of file cmtkUniformVolumeInterpolatorPartialVolume.cxx.

TypedArray::SmartPtr cmtk::UniformVolumeFilter::GetDataGaussFiltered ( const Units::GaussianSigma sigma,
const Types::Coordinate  maxError = 0.01 
) const [inherited]

Gaussian filter (using faster, separable filtering).

Parameters:
sigmaKernel parameter "sigma" (standard deviation)
maxErrorMaximum approximation error: the kernel is truncated when it falls below this threshold

Definition at line 48 of file cmtkUniformVolumeFilter.cxx.

Referenced by cmtk::GroupwiseRegistrationFunctionalBase::PrepareSingleImage().

TypedArray::SmartPtr cmtk::DataGridFilter::GetDataKernelFiltered ( const std::vector< Types::DataItem > &  filterX,
const std::vector< Types::DataItem > &  filterY,
const std::vector< Types::DataItem > &  filterZ 
) const [inherited]

Return after filtering with a separable kernel.

Definition at line 189 of file cmtkDataGridFilter.cxx.

TypedArray::SmartPtr cmtk::DataGridFilter::GetDataMedianFiltered ( const int  radiusX,
const int  radiusY,
const int  radiusZ 
) const [inherited]

Return data after median-filtering with per-dimension filter radius.

Definition at line 55 of file cmtkDataGridFilter.cxx.

References cmtk::Memory::DeleteArray(), cmtk::TypedArray::Get(), cmtk::TypedArray::GetData(), cmtk::TypedArray::GetDataSize(), cmtk::TypedArray::GetType(), and NULL.

TypedArray::SmartPtr cmtk::DataGridFilter::GetDataMedianFiltered ( const int  radius ) const [inline, inherited]

Return data after median-filtering with global filter radius (convenience function).

Definition at line 63 of file cmtkDataGridFilter.h.

TypedArray::SmartPtr cmtk::DataGrid::GetDataMirrored ( const int  axis = AXIS_X ) const [inherited]
TypedArray::SmartPtr cmtk::DataGrid::GetDataMirrorPlane ( const int  axis = AXIS_X ) const [inherited]

Return data after mirroring.

Parameters:
axisCoordinate axis normal to mirror plane. Default is AXIS_X (mirror about mid-sagittal plane).

Definition at line 264 of file cmtkDataGrid.cxx.

TypedArray::SmartPtr cmtk::DataGridFilter::GetDataSobelFiltered (  ) const [inherited]

Return data after median-filtering.

Definition at line 128 of file cmtkDataGridFilter.cxx.

References cmtk::TypedArray::Get(), cmtk::TypedArray::GetData(), cmtk::TypedArray::GetDataSize(), and cmtk::TypedArray::GetType().

SplineWarpXform::SpaceVectorType & cmtk::SplineWarpXform::GetDeformedControlPointPosition ( Self::SpaceVectorType v,
const int  x,
const int  y,
const int  z 
) const [virtual, inherited]

Get the deformed position of a transformation control point.

Note:
This function does not return the shifted control point position, but rather it applies the current transformation to the given control point. It does so more efficiently than applying the transformation to the explicit 3D coordinate of the control point, because most spline coefficients vanish at control points and need not be considered.

Definition at line 481 of file cmtkSplineWarpXform.cxx.

void cmtk::WarpXform::GetDerivativeInverseConsistencyError ( double &  lower,
double &  upper,
const Self inverse,
const UniformVolume volume,
const UniformVolume::RegionType voi,
const unsigned int  idx,
const Types::Coordinate  step 
) [virtual, inherited]

Return derivative of inverse consistency.

Definition at line 149 of file cmtkWarpXform.cxx.

Referenced by cmtk::ImagePairNonrigidRegistrationFunctional::WeightedDerivative().

void cmtk::WarpXform::GetDerivativeLandmarksMSD ( double &  lowerMSD,
double &  upperMSD,
const MatchedLandmarkList ll,
const unsigned int  idx,
const Types::Coordinate  step 
) [virtual, inherited]

Return derivative of registration error with respect to one parameter.

Definition at line 75 of file cmtkWarpXform.cxx.

Referenced by cmtk::ImagePairNonrigidRegistrationFunctional::WeightedDerivative().

AffineXform::SmartPtr cmtk::AffineXform::GetDifference ( const AffineXform other ) const [virtual, inherited]

Compute difference to another affine transformation.

Todo:
It is probably not a good idea to return a dynamically allocated object here.

Definition at line 352 of file cmtkAffineXform.cxx.

References cmtk::AffineXform::MakeInverse().

ScalarDataType cmtk::GetDifferenceDataType ( const ScalarDataType  dtype1,
const ScalarDataType  dtype2 
)

Return difference datatype ID for given pair of datatypes.

Definition at line 140 of file cmtkTypes.cxx.

References cmtk::TYPE_BYTE, cmtk::TYPE_CHAR, cmtk::TYPE_DOUBLE, cmtk::TYPE_FLOAT, cmtk::TYPE_INT, cmtk::TYPE_SHORT, cmtk::TYPE_UINT, and cmtk::TYPE_USHORT.

TypedArray::SmartPtr cmtk::DataGridMorphologicalOperators::GetDilated ( const int  iterations = 1 ) const [inherited]

Get data after dilation operator.

Parameters:
iterationsNumber of dilation iterations.

Definition at line 181 of file cmtkDataGridMorphologicalOperators.cxx.

References cmtk::TYPE_BYTE.

Referenced by cmtk::ImageOperationErodeDilate::Apply().

DataGrid * cmtk::DataGrid::GetDownsampledAndAveraged ( const int(&)  downsample[3] ) const [virtual, inherited]

Downsampling and pixel-averaging constructor function.

Reimplemented in cmtk::UniformVolume.

Definition at line 65 of file cmtkDataGrid.cxx.

References cmtk::TypedArray::Get(), cmtk::TypedArray::GetType(), cmtk::META_IMAGE_ORIENTATION, cmtk::META_IMAGE_ORIENTATION_ORIGINAL, and cmtk::DataGrid::SetDims().

template<class T >
double cmtk::TemplateArray< T >::GetEntropy ( Histogram< double > &  histogram,
const bool  fractional = CMTK_HISTOGRAM_DISCRETE 
) const [virtual, inherited]
template<class T >
double cmtk::TemplateArray< T >::GetEntropy ( const bool  fractional = CMTK_HISTOGRAM_DISCRETE,
const int  numberOfBins = 128 
) const [virtual, inherited]
template<class T >
double cmtk::TemplateArray< T >::GetEntropy ( Histogram< unsigned int > &  histogram ) const [virtual, inherited]

Calculate entropy of values in this array using existing histogram.

By using an already existing histogram, this function ensures that the same numbers and sizes of bins are used for repeated calls of this function, even when the actual data in this array has changed. On the other hand, there is of course a risk that the data may have changed in such a way that the old histogram arrangement does not fit it anymore.

In the process of entropy computation, the histogram is also filled with the data from this array. It is therefore available for subsequent operations after returning from this function.

Implements cmtk::TypedArray.

Definition at line 80 of file cmtkTemplateArray.txx.

References cmtk::Histogram< T >::GetEntropy(), cmtk::Histogram< T >::Increment(), cmtk::Histogram< T >::Reset(), and cmtk::HistogramBase::ValueToBin().

template<class T >
double cmtk::TemplateArray< T >::GetEntropy ( Histogram< double > &  histogram,
const double *  kernel,
const size_t  kernelRadius 
) const [virtual, inherited]

Calculate entropy of values in this array using existing histogram and kernel for Parzen windowing.

See also:
TypedArray::GetEntropy

Implements cmtk::TypedArray.

Definition at line 111 of file cmtkTemplateArray.txx.

References cmtk::Histogram< T >::AddWeightedSymmetricKernelFractional(), cmtk::Histogram< T >::GetEntropy(), cmtk::Histogram< T >::Reset(), and cmtk::HistogramBase::ValueToBinFractional().

template<class T >
double cmtk::Histogram< T >::GetEntropy (  ) const [inherited]
TypedArray::SmartPtr cmtk::DataGridMorphologicalOperators::GetEroded ( const int  iterations = 1 ) const [inherited]

Get data after erosion operator.

Parameters:
iterationsNumber of erosion iterations.

Definition at line 124 of file cmtkDataGridMorphologicalOperators.cxx.

References cmtk::TYPE_BYTE.

Referenced by cmtk::ImageOperationErodeDilate::Apply().

TypedArray::SmartPtr cmtk::ScalarImage::GetFilteredData ( const std::vector< Types::DataItem > &  filterX,
const std::vector< Types::DataItem > &  filterY 
) const [private, inherited]

Definition at line 522 of file cmtkScalarImage.cxx.

References cmtk::TypedArray::Create().

Referenced by cmtk::ScalarImage::GetGaussFiltered().

void cmtk::DataGridFilter::GetFilteredDataThreadX ( void *  args,
const size_t  taskIdx,
const size_t  taskCnt,
const size_t  threadIdx,
const   size_t 
) [static, private, inherited]
void cmtk::DataGridFilter::GetFilteredDataThreadY ( void *  args,
const size_t  taskIdx,
const size_t  taskCnt,
const size_t  threadIdx,
const   size_t 
) [static, private, inherited]
void cmtk::DataGridFilter::GetFilteredDataThreadZ ( void *  args,
const size_t  taskIdx,
const size_t  taskCnt,
const size_t  threadIdx,
const   size_t 
) [static, private, inherited]
TypedArray::SmartPtr cmtk::ScalarImage::GetGaussFiltered ( const Types::Coordinate  stdDev ) const [inherited]

Return Gauss-filtered (smoothed) image data.

Parameters:
stdDevStandard deviation of the smoothing kernel in world coordinates. This value is internally converted to the effective kernel size in pixels.

Definition at line 494 of file cmtkScalarImage.cxx.

References cmtk::ScalarImage::GetFilteredData(), cmtk::ScalarImage::m_Dims, M_PI, and cmtk::MathUtil::Square().

Types::Coordinate cmtk::SplineWarpXform::GetGridEnergy (  ) const [virtual, inherited]

Return grid bending energy.

Definition at line 643 of file cmtkSplineWarpXform.cxx.

Referenced by cmtk::ImagePairNonrigidRegistrationFunctional::WeightedTotal().

Types::Coordinate cmtk::SplineWarpXform::GetGridEnergy ( const Types::Coordinate cp ) const [virtual, inherited]

Return grid bending energy at one control point.

Parameters:
cpThe control point where the bending energy is to be evaluated.

Definition at line 761 of file cmtkSplineWarpXform.cxx.

Types::Coordinate cmtk::SplineWarpXform::GetGridEnergy ( const Self::SpaceVectorType v ) const [virtual, inherited]

Return grid bending energy at arbitrary location.

Definition at line 665 of file cmtkSplineWarpXform.cxx.

void cmtk::SplineWarpXform::GetGridEnergyDerivative ( double &  lower,
double &  upper,
const int  param,
const Types::Coordinate  step 
) const [virtual, inherited]

Return derivative of grid energy with respect to one parameter.

Definition at line 844 of file cmtkSplineWarpXform.cxx.

Referenced by cmtk::SplineWarpCongealingFunctional::EvaluateLocalGradientThreadFunc(), and cmtk::ImagePairNonrigidRegistrationFunctional::WeightedDerivative().

const UniformVolume::CoordinateRegionType cmtk::UniformVolume::GetHighResCropRegion (  ) const [inherited]

Get cropped volume in real-world coordinates.

Definition at line 61 of file cmtkUniformVolume_Crop.cxx.

References cmtk::Region< NDIM, T >::From(), and cmtk::Region< NDIM, T >::To().

Referenced by cmtk::UniformVolume::UniformVolume().

template<class T >
Histogram< unsigned int >::SmartPtr cmtk::TemplateArray< T >::GetHistogram ( const unsigned int  numberOfBins,
const bool  centeredBins = false 
) const [virtual, inherited]

Get data histogram.

Returns:
A histogram object filled with the relative frequencies of values in this array.
Parameters:
numberOfBinsNumber of histogram bins
centeredBinsFlag for bins centered around the samples

Implements cmtk::TypedArray.

Definition at line 71 of file cmtkTemplateArray_Statistics.txx.

References cmtk::Histogram< T >::Increment(), cmtk::HistogramBase::SetRange(), cmtk::HistogramBase::SetRangeCentered(), and cmtk::HistogramBase::ValueToBin().

ScalarImage::SpaceVectorType cmtk::ScalarImage::GetImageOrigin ( const int  frame = 0 ) const [inherited]
void cmtk::AnatomicalOrientation::GetImageToSpaceAxesPermutation ( int(&)  imageToSpaceAxesPermutation[3][3],
const char *  orientation,
const char *  spaceAxes 
) [static, inherited]

Get permutation table of coordinate axes from space axes and image orientation.

Definition at line 98 of file cmtkAnatomicalOrientation.cxx.

template<class T >
const Matrix4x4< T > cmtk::Matrix4x4< T >::GetInverse (  ) const [inherited]
const AffineXform::SmartPtr cmtk::AffineXform::GetInverse (  ) const [inherited]
Types::Coordinate cmtk::SplineWarpXform::GetInverseConsistencyError ( const WarpXform inverse,
const UniformVolume volume,
const UniformVolume::RegionType voi = NULL 
) const [virtual, inherited]
Types::Coordinate cmtk::WarpXform::GetInverseConsistencyError ( const Self inverse,
const UniformVolume volume,
const UniformVolume::RegionType voi = NULL 
) const [virtual, inherited]
CoordinateMatrix3x3 cmtk::SplineWarpXform::GetJacobian ( const Self::SpaceVectorType v ) const [virtual, inherited]

Get local Jacobian.

Definition at line 50 of file cmtkSplineWarpXform_Jacobian.cxx.

void cmtk::DeformationField::GetJacobian ( const Self::SpaceVectorType v,
CoordinateMatrix3x3 J 
) const [virtual, inherited]

Get Jacobian matrix.

Definition at line 46 of file cmtkDeformationField_Jacobian.cxx.

References cmtk::Matrix3x3< T >::Fill().

void cmtk::SplineWarpXform::GetJacobian ( const Self::SpaceVectorType v,
CoordinateMatrix3x3 J 
) const [virtual, inherited]

Get local Jacobian into existing matrix.

Definition at line 212 of file cmtkSplineWarpXform_Jacobian.cxx.

void cmtk::SplineWarpXform::GetJacobianAtControlPoint ( const Types::Coordinate cp,
CoordinateMatrix3x3 J 
) const [virtual, inherited]

Get local Jacobian at control point into existing matrix.

Definition at line 170 of file cmtkSplineWarpXform_Jacobian.cxx.

References cmtk::Matrix3x3< T >::Fill().

Types::Coordinate cmtk::SplineWarpXform::GetJacobianConstraint (  ) const [virtual, inherited]

Return Jacobian constraint of the current transformation grid.

Definition at line 584 of file cmtkSplineWarpXform_Jacobian.cxx.

References cmtk::ThreadPool::GetNumberOfThreads(), and cmtk::ThreadPool::Run().

Referenced by cmtk::ImagePairNonrigidRegistrationFunctional::WeightedTotal().

void cmtk::SplineWarpXform::GetJacobianConstraintDerivative ( double &  lower,
double &  upper,
const int  param,
const UniformVolume::RegionType voi,
const Types::Coordinate  step 
) const [virtual, inherited]
void cmtk::SplineWarpXform::GetJacobianConstraintDerivative ( double &  lower,
double &  upper,
const int  param,
const Types::Coordinate  step 
) const [virtual, inherited]

Return derivative of Jacobian constraint with respect to one parameter.

Definition at line 754 of file cmtkSplineWarpXform_Jacobian.cxx.

Types::Coordinate cmtk::SplineWarpXform::GetJacobianConstraintSparse (  ) const [virtual, inherited]

Return sparse Jacobian constraint of the current transformation grid.

Unlike GetJacobianConstraint(), this function does not evaluate the Jacobian constraint at each voxel of the registered reference image; it merely performs the evaluation at the control points of the deformation, thereby greatly increasing computational performance at the cost of less accurate and stable computation.

Definition at line 638 of file cmtkSplineWarpXform_Jacobian.cxx.

void cmtk::SplineWarpXform::GetJacobianConstraintThread ( void *const   args,
const size_t  taskIdx,
const size_t  taskCnt,
const   size_t,
const   size_t 
) [static, protected, inherited]
Types::Coordinate cmtk::SplineWarpXform::GetJacobianDeterminant ( const Self::SpaceVectorType v ) const [virtual, inherited]

Compute Jacobian determinant at a certain location.

Implements cmtk::Xform.

Definition at line 326 of file cmtkSplineWarpXform_Jacobian.cxx.

Referenced by cmtk::ReformatVolume::GetTransformedReferenceJacobianAvgThread().

Types::Coordinate cmtk::SplineWarpXform::GetJacobianDeterminant ( const int  x,
const int  y,
const int  z 
) const [virtual, inherited]

Compute Jacobian determinant at a certain reference image pixel.

Definition at line 280 of file cmtkSplineWarpXform_Jacobian.cxx.

void cmtk::SplineWarpXform::GetJacobianDeterminantRow ( double *const   values,
const int  x,
const int  y,
const int  z,
const size_t  numberOfPoints = 1 
) const [virtual, inherited]

Compute sequence of Jacobian determinants from given grid location.

Definition at line 384 of file cmtkSplineWarpXform_Jacobian.cxx.

Referenced by cmtk::SplineWarpXform::GetJacobianConstraintThread(), and cmtk::SplineWarpXform::GetJacobianFoldingConstraintThread().

Types::Coordinate cmtk::SplineWarpXform::GetJacobianFoldingConstraint (  ) const [virtual, inherited]

Return Jacobian folding constraint of the current transformation grid.

Definition at line 611 of file cmtkSplineWarpXform_Jacobian.cxx.

References cmtk::ThreadPool::GetNumberOfThreads(), and cmtk::ThreadPool::Run().

void cmtk::SplineWarpXform::GetJacobianFoldingConstraintDerivative ( double &  lower,
double &  upper,
const int  param,
const UniformVolume::RegionType voi,
const Types::Coordinate  step 
) const [virtual, inherited]

Return derivative of Jacobian constraint with respect to one parameter.

Definition at line 704 of file cmtkSplineWarpXform_Jacobian.cxx.

References cmtk::Region< NDIM, T >::From(), cmtk::Region< NDIM, T >::Size(), and cmtk::Region< NDIM, T >::To().

void cmtk::SplineWarpXform::GetJacobianFoldingConstraintThread ( void *const   args,
const size_t  taskIdx,
const size_t  taskCnt,
const   size_t,
const   size_t 
) [static, protected, inherited]
void cmtk::SplineWarpXform::GetJacobianRow ( CoordinateMatrix3x3 *const   array,
const int  x,
const int  y,
const int  z,
const size_t  numberOfPoints 
) const [virtual, inherited]

Get sequence of Jacobians for pixel row.

Definition at line 59 of file cmtkSplineWarpXform_Jacobian.cxx.

References cmtk::Matrix3x3< T >::Set().

template<class T >
double cmtk::JointHistogram< T >::GetJointEntropy (  ) const [inherited]

Compute joint entropy.

From the joint bins, an estimate to the joint entropy of both, reference and model image is computed.

Returns:
The estimated joint entropy.

Definition at line 73 of file cmtkJointHistogram.cxx.

template<class T >
double cmtk::Histogram< T >::GetKullbackLeiblerDivergence ( const Self other ) const [inherited]

Get Kullback-Leibler divergence to other histogram.

The second histogram must have the same number of bins, because the function assumes bin-to-bin correspondence between the two distributions.

Note:
Any bin value ranges set in derived classes are ignored here!

Definition at line 97 of file cmtkHistogram.txx.

References cmtk::Histogram< T >::GetNumBins(), cmtk::Histogram< T >::m_Bins, and cmtk::Histogram< T >::SampleCount().

Types::Coordinate cmtk::Xform::GetLandmarksMSD ( const MatchedLandmarkList ll ) const [virtual, inherited]

Return registration error for set of source/target landmarks.

What is actually returned is the mean squared distance of source landmark after transformation and desired target landmark.

Definition at line 110 of file cmtkXform.cxx.

Referenced by cmtk::ImagePairNonrigidRegistrationFunctional::WeightedTotal().

TypedArray::SmartPtr cmtk::ScalarImage::GetLaplace2DFiltered (  ) const [inherited]

Return Laplace-filtered (edge-enhanced) image data.

This function implements the 2-D Laplace edge operator.

Definition at line 693 of file cmtkScalarImage.cxx.

References cmtk::TypedArray::Create(), and cmtk::ScalarImage::m_Dims.

template<class T >
void cmtk::JointHistogram< T >::GetMarginalEntropies ( double &  HX,
double &  HY 
) const [inherited]

Compute marginal entropies.

From the bin counts, the marginal entropies of both, reference and model data are estimated.

Parameters:
HXUpon return, this reference holds the estimated marginal entropy of the X random variable, i.e. the reference image.
HYUpon return, this reference holds the estimated marginal entropy of the Y random variable, i.e. the model image.

Definition at line 45 of file cmtkJointHistogram.cxx.

template<class T >
Histogram< T > * cmtk::JointHistogram< T >::GetMarginalX (  ) const [inherited]

Get marginal X distribution as 1D histogram.

Definition at line 92 of file cmtkJointHistogram.cxx.

References cmtk::HistogramBase::SetRange().

Referenced by cmtk::FilterVolume::StudholmeFilter().

template<class T >
Histogram< T > * cmtk::JointHistogram< T >::GetMarginalY (  ) const [inherited]

Get marginal Y distribution as 1D histogram.

Definition at line 105 of file cmtkJointHistogram.cxx.

References cmtk::HistogramBase::SetRange().

template<>
void cmtk::AffineXform::GetMatrix ( float(&)  matrix[4][4] ) const [inherited]

Definition at line 270 of file cmtkAffineXform.cxx.

template<>
void cmtk::AffineXform::GetMatrix ( double(&)  matrix[4][4] ) const [inherited]

Definition at line 279 of file cmtkAffineXform.cxx.

template<class T >
size_t cmtk::Histogram< T >::GetMaximumBinIndex (  ) const [inherited]

Return index of bin with highest value.

Definition at line 45 of file cmtkHistogram.cxx.

TypedArray::SmartPtr cmtk::ScalarImage::GetMedianFiltered ( const byte  range ) const [inherited]

Return median-filtered image data.

Parameters:
rangeField of view of the median operator.

Definition at line 450 of file cmtkScalarImage.cxx.

References cmtk::MathUtil::CompareDouble(), cmtk::MathUtil::CompareFloat(), cmtk::TypedArray::Create(), cmtk::Memory::DeleteArray(), and cmtk::ScalarImage::m_Dims.

AffineXform::MatrixType cmtk::ParametricPlane::GetMirrorXformMatrix (  ) const [inherited]

Get affine transformation matrix of the mirror transform.

Definition at line 138 of file cmtkParametricPlane.cxx.

References cmtk::Matrix4x4< Types::Coordinate >::IdentityMatrix, cmtk::ParametricPlane::Normal, cmtk::ParametricPlane::Rho, and cmtk::ParametricPlane::SquareNormal.

void cmtk::AnatomicalOrientation::GetOrientationFromDirections ( char *  orientation,
const AffineXform::MatrixType directions,
const char *  spaceAxes 
) [static, inherited]

Get closest anatomical orientation based on space dimensions and image direction vectors.

Parameters:
orientationThe resulting orientation string (three characters plus terminating zero) will be put into this string.
directionsThe image direction vectors. "directions[0]" is the 3-D vector of the in-plane x image direction, "directions[1]" is in-plane y, and "directions[2]" is the vector from one plane origin to the origin of the next plane.
spaceAxesSix-character string that defines the orientation of the underlying space. The first two characters relate to the x coordinate, the second two to the y coordinate, and the final two to the z coordinate.

Definition at line 48 of file cmtkAnatomicalOrientation.cxx.

References cmtk::StdErr.

ScalarImage * cmtk::DataGrid::GetOrthoSlice ( const int  axis,
const unsigned int  plane 
) const [virtual, inherited]
int cmtk::WarpXform::GetParameterActive ( const size_t  index ) const [inherited]

Test whether a particular parameter is active.

Parameters:
indexIndex of the parameter.
Returns:
Non-zero if and only if the given parameter is active.

Definition at line 259 of file cmtkWarpXform.cxx.

Types::Coordinate cmtk::WarpXform::GetParamStep ( const size_t  idx,
const Self::SpaceVectorType volSize,
const Types::Coordinate  mmStep = 1 
) const [virtual, inherited]

Get parameter step given a transformed volume size.

Reimplemented from cmtk::Xform.

Reimplemented in cmtk::DeformationField, and cmtk::SplineWarpXform.

Definition at line 167 of file cmtkWarpXform.cxx.

Types::Coordinate cmtk::AffineXform::GetParamStep ( const size_t  idx,
const Self::SpaceVectorType volSize,
const Types::Coordinate  step_mm = 1 
) const [virtual, inherited]

Get parameter stepping.

Reimplemented from cmtk::Xform.

Definition at line 314 of file cmtkAffineXform.cxx.

References M_PI, cmtk::FixedVector< NDIM, T >::MaxValue(), and cmtk::MathUtil::Square().

virtual Types::Coordinate cmtk::SplineWarpXform::GetParamStep ( const size_t  idx,
const Self::SpaceVectorType volSize,
const Types::Coordinate  mmStep = 1 
) const [inline, virtual, inherited]

Get parameter stepping.

Reimplemented from cmtk::WarpXform.

Definition at line 318 of file cmtkSplineWarpXform.h.

CoordinateVector & cmtk::Xform::GetParamVector ( CoordinateVector v,
const size_t  targetOffset = 0 
) const [virtual, inherited]
Types::DataItem cmtk::TypedArray::GetPercentile ( const Types::DataItem  percentile,
const size_t  nBins = 256 
) const [virtual, inherited]

Compute approximate percentile value from histogram.

Parameters:
percentileThe percentile to be computed. Value must be between 0 and 1.
nBinsNumber of histogram bins for percentile estimation.

Definition at line 45 of file cmtkTypedArray_Statistics.cxx.

References cmtk::Histogram< T >::GetPercentile().

Referenced by cmtk::Study::ReadVolume(), and cmtk::Study::UpdateFromVolume().

template<class T >
Types::DataItem cmtk::Histogram< T >::GetPercentile ( const Types::DataItem  percentile ) const [inherited]

Compute approximate percentile value from histogram.

Parameters:
percentileThe percentile to be computed. Value must be between 0 and 1.

Definition at line 137 of file cmtkHistogram.cxx.

Referenced by cmtk::TypedArray::GetPercentile(), and cmtk::TypedArray::GetPercentileList().

std::vector< Types::DataItem > cmtk::TypedArray::GetPercentileList ( const std::vector< Types::DataItem > &  percentileList,
const size_t  nBins = 256 
) const [virtual, inherited]

Compute list of approximate percentile values from histogram.

This function calls GetPercentile for each value in the given input vector and puts all resulting values into the output vector in the same order. The main advantage of using this function is that it is more efficient as a single histogram is created to compute all percentiles.

Parameters:
percentileListThe list of percentiles to be computed. Each value must be between 0 and 1.
nBinsNumber of histogram bins for percentile estimation.

Definition at line 54 of file cmtkTypedArray_Statistics.cxx.

References cmtk::Histogram< T >::GetPercentile().

AffineXform::MatrixType cmtk::AnatomicalOrientation::PermutationMatrix::GetPermutedMatrix ( const AffineXform::MatrixType inMatrix ) const [inherited]

Permute index-to-physical matrix.

Definition at line 74 of file cmtkAnatomicalOrientationPermutationMatrix.cxx.

References cmtk::Matrix4x4< T >::GetInverse().

Referenced by cmtk::UniformVolume::GetReoriented().

bool cmtk::ScalarImage::GetPixelAt ( Types::DataItem value,
const Types::Coordinate  i,
const Types::Coordinate  j 
) const [inherited]

Get pixel at fractional 2-D index by bilinear interpolation.

Returns:
True if value is valid; false if at least one of the four neighbor pixels was invalid or outside the image.

Definition at line 267 of file cmtkScalarImage.cxx.

bool cmtk::ScalarImage::GetPixelAtCubic ( Types::DataItem value,
const Types::Coordinate  i,
const Types::Coordinate  j 
) const [inherited]

Get pixel at fractional 2-D index by bicubic interpolation.

Returns:
True if value is valid; false if at least one of the source pixels was invalid or outside the image.

Definition at line 302 of file cmtkScalarImage.cxx.

References cmtk::TypedArray::Get(), and cmtk::CubicSpline::InterpSpline().

Types::Coordinate * cmtk::SplineWarpXform::GetPureDeformation ( const bool  includeScale = false ) const [inherited]

Return array of pre deformation vectors.

The newly alocated data array contains the control point positions after deformation without affine components.

Parameters:
includeScaleIf this flag is set (default: off), then the scale components of the affine transformation remain in the deformation.

Definition at line 955 of file cmtkSplineWarpXform.cxx.

template<class TFloat >
Matrix2D< TFloat > & cmtk::QRDecomposition< TFloat >::GetQ (  ) [inherited]

Get the Q factor.

Definition at line 79 of file cmtkQRDecomposition.txx.

template<class TFloat >
Matrix2D< TFloat > & cmtk::QRDecomposition< TFloat >::GetR (  ) [inherited]

Get the R factor.

Definition at line 101 of file cmtkQRDecomposition.txx.

Referenced by cmtk::Matrix4x4< T >::Decompose(), and cmtk::SplineWarpXform::GetRigidityConstraint().

template<class T >
const Types::DataItemRange cmtk::TemplateArray< T >::GetRange (  ) const [virtual, inherited]

Calculate minimum and maximum data value.

Implements cmtk::TypedArray.

Definition at line 123 of file cmtkTemplateArray.txx.

template<class T >
const Types::Range< T > cmtk::TemplateArray< T >::GetRangeTemplate (  ) const [virtual, inherited]

Calculate minimum and maximum data value.

Definition at line 131 of file cmtkTemplateArray.txx.

References cmtk::Types::Range< T >::m_LowerBound, and cmtk::Types::Range< T >::m_UpperBound.

cmtk::TypedArray::SmartPtr cmtk::DataGridMorphologicalOperators::GetRegionsRenumberedBySize (  ) const [inherited]

Get data with region labels renumbered by decreasing region size.

This is typically run after GetBinaryConnectedComponents() to order the components and be able to easily select, say, the largest k components.

Definition at line 128 of file cmtkDataGridConnectedComponents.cxx.

References cmtk::TypedArray::Create(), and cmtk::TYPE_INT.

Referenced by cmtk::ImageOperationConnectedComponents::Apply().

const DataGrid::SmartPtr cmtk::DataGrid::GetReoriented ( const char *  newOrientation = AnatomicalOrientation::ORIENTATION_STANDARD ) const [inherited]

Reorientation constructor function.

Parameters:
newOrientationThree letter orientation code that specifies the anatomically-based orientation of the reoriented volume. Each letter can be one of the following: R, L, A, P, I, S. These stand for Right, Left, Anterior, Posterior, Inferior, Superior.

The three letters in the orientation string define the directions of the positive x, y, and z axes, in this order. For example, "RAS", the standard orientation for this software, means that the pixels along the x axis are arranged from the subject's Left to the Right side, along the y axis from the subject's Posterior (back) to Anterior (front), and along the z axis from Inferior (feet) to Superior (head).

The current orientation of this volume is to be taken from its meta information, as this->m_MetaInformation[CMTK_META_IMAGE_ORIENTATION]. This is also a three-letter string of the same form as the one given to this function as a parameter.

If the current orientation is not set, a warning message should be printed to StdErr, and a NULL pointer returned.

Returns:
Reoriented data grid with permuted pixels in this->Data and permuted grid dimensions in this->Dims. The returned pointers points to a newly allocated object, which can be wrapped in an SmartPointer.

Reimplemented in cmtk::UniformVolume.

Definition at line 128 of file cmtkDataGrid.cxx.

References cmtk::DataGrid::CreateDataArray(), cmtk::TypedArray::GetDataPtr(), cmtk::TypedArray::GetItemSize(), cmtk::TypedArray::GetPaddingFlag(), cmtk::TypedArray::GetPaddingValue(), cmtk::AnatomicalOrientation::PermutationMatrix::GetPermutedArray(), cmtk::TypedArray::GetType(), cmtk::MetaInformationObject::m_MetaInformation, cmtk::META_IMAGE_ORIENTATION, cmtk::META_IMAGE_ORIENTATION_ORIGINAL, cmtk::AnatomicalOrientation::PermutationMatrix::NewOffsetFromPoint(), and cmtk::TypedArray::SetPaddingValue().

template<class TDataType >
const TDataType cmtk::Accumulators::Avg< TDataType >::GetResult (  ) const [inline, inherited]

Retrive accumulated result.

Definition at line 73 of file cmtkAccumulatorAvg.h.

template<class TDataType >
const TDataType& cmtk::Accumulators::Sum< TDataType >::GetResult (  ) const [inline, inherited]

Retrive accumulated result.

Definition at line 72 of file cmtkAccumulatorSum.h.

template<class TDataType >
const TDataType cmtk::Accumulators::Max< TDataType >::GetResult (  ) const [inline, inherited]

Retrive accumulated result.

Definition at line 75 of file cmtkAccumulatorMax.h.

Types::Coordinate cmtk::SplineWarpXform::GetRigidityConstraint (  ) const [virtual, inherited]

Return rigidity constraint of the current transformation grid.

Definition at line 229 of file cmtkSplineWarpXform_Rigidity.cxx.

Types::Coordinate cmtk::SplineWarpXform::GetRigidityConstraint ( const DataGrid weightMap ) const [virtual, inherited]

Return rigidity constraint of the current transformation grid with local weights.

Definition at line 251 of file cmtkSplineWarpXform_Rigidity.cxx.

References cmtk::DataGrid::GetDataAt().

Types::Coordinate cmtk::SplineWarpXform::GetRigidityConstraint ( const CoordinateMatrix3x3 J ) const [private, inherited]

Return rigidity constraint based on given Jacobian matrix.

Definition at line 273 of file cmtkSplineWarpXform_Rigidity.cxx.

References cmtk::QRDecomposition< TFloat >::GetR().

void cmtk::SplineWarpXform::GetRigidityConstraintDerivative ( double &  lower,
double &  upper,
const int  param,
const Types::Coordinate  step 
) const [virtual, inherited]

Return derivative of rigidity constraint with respect to one parameter.

Definition at line 171 of file cmtkSplineWarpXform_Rigidity.cxx.

void cmtk::SplineWarpXform::GetRigidityConstraintDerivative ( double &  lower,
double &  upper,
const int  param,
const UniformVolume::RegionType voi,
const Types::Coordinate  step 
) const [virtual, inherited]

Return derivative of rigidity constraint with respect to one parameter.

Definition at line 68 of file cmtkSplineWarpXform_Rigidity.cxx.

References cmtk::Region< NDIM, T >::From(), and cmtk::Region< NDIM, T >::To().

void cmtk::SplineWarpXform::GetRigidityConstraintDerivative ( double &  lower,
double &  upper,
const int  param,
const UniformVolume::RegionType voi,
const Types::Coordinate  step,
const DataGrid weightMap 
) const [virtual, inherited]

Return derivative of rigidity constraint with respect to one parameter.

Definition at line 119 of file cmtkSplineWarpXform_Rigidity.cxx.

References cmtk::Region< NDIM, T >::From(), cmtk::DataGrid::GetDataAt(), cmtk::Region< NDIM, T >::Size(), and cmtk::Region< NDIM, T >::To().

Types::Coordinate cmtk::SplineWarpXform::GetRigidityConstraintSparse (  ) const [virtual, inherited]

Return sparse rigidity constraint of the current transformation grid.

Definition at line 47 of file cmtkSplineWarpXform_Rigidity.cxx.

ScalarDataType cmtk::GetSignedDataType ( const ScalarDataType  dtype )
TypedArray::SmartPtr cmtk::ScalarImage::GetSobel2DFiltered (  ) const [inherited]

Return Sobel-filtered (edge-enhanced) image data.

This function implements the 2-D Sobel edge operator. In particular, it computed the gradient magnitude at a certian location as the square root of the squared horizontal and vertical Sobel operators.

Definition at line 610 of file cmtkScalarImage.cxx.

References cmtk::TypedArray::Create(), cmtk::ScalarImage::m_Dims, and cmtk::MathUtil::Square().

TypedArray::SmartPtr cmtk::ScalarImage::GetSobelFiltered ( const bool  horizontal,
const bool  absolute = false 
) const [inherited]

Return Sobel-filtered (edge-enhanced) image data.

This function implements the 1-D Sobel edge operator.

Definition at line 641 of file cmtkScalarImage.cxx.

References cmtk::TypedArray::Create(), cmtk::GetSignedDataType(), cmtk::GetUnsignedDataType(), and cmtk::ScalarImage::m_Dims.

Referenced by cmtk::ScalarImageSimilarity::GetGradientCorrelation(), and cmtk::ScalarImageSimilarity::GetGradientDifference().

template<class T >
size_t cmtk::TemplateArray< T >::GetStatistics ( Types::DataItem mean,
Types::DataItem variance 
) const [virtual, inherited]

Calculate statistics.

Results will be both zero if there is not data in the array.

Returns:
The number of valid (i.e., non-padding) values that constitute the given results.

Implements cmtk::TypedArray.

Definition at line 42 of file cmtkTemplateArray_Statistics.txx.

void cmtk::SplineWarpXform::GetTransformedGrid ( Self::SpaceVectorType v,
const int  idxX,
const int  idxY,
const int  idxZ 
) const [inherited]

Get a grid point from the deformed grid.

Definition at line 525 of file cmtkSplineWarpXform.cxx.

void cmtk::DeformationField::GetTransformedGrid ( Self::SpaceVectorType v,
const int  idxX,
const int  idxY,
const int  idxZ 
) const [virtual, inherited]

Get a grid point from the deformed grid.

Definition at line 84 of file cmtkDeformationField.cxx.

void cmtk::SplineWarpXform::GetTransformedGridRow ( const int  numPoints,
Self::SpaceVectorType *const   v,
const int  idxX,
const int  idxY,
const int  idxZ 
) const [inherited]
void cmtk::DeformationField::GetTransformedGridRow ( Self::SpaceVectorType *const   v,
const int  numPoints,
const int  idxX,
const int  idxY,
const int  idxZ 
) const [virtual, inherited]

Get a sequence of grid points from the deformed grid.

Definition at line 95 of file cmtkDeformationField.cxx.

template<class T >
Matrix3x3< T > cmtk::Matrix3x3< T >::GetTranspose (  ) const [inherited]
template<class T >
Matrix4x4< T > cmtk::Matrix4x4< T >::GetTranspose (  ) const [inherited]

Transpose operator.

Definition at line 87 of file cmtkMatrix4x4.cxx.

bool cmtk::Volume::GetTrilinear ( ProbeInfo probeInfo,
const int  X,
const int  Y,
const int  Z,
const Vector3D Location,
const Types::Coordinate from,
const Types::Coordinate to 
) const [protected, inherited]

Get information needed for trilinear interpolation.

Returns:
1 if operation was successful, 0 if no valid data could be found at the given location.

Definition at line 44 of file cmtkVolume.cxx.

References cmtk::ProbeInfo::Deltas, cmtk::TypedArray::Get(), cmtk::ProbeInfo::Location, cmtk::ProbeInfo::Offsets, and cmtk::ProbeInfo::Values.

ScalarDataType cmtk::GetUnsignedDataType ( const ScalarDataType  dtype )

Return unsigned datatype ID corresponding to given datatype.

Definition at line 166 of file cmtkTypes.cxx.

References cmtk::TYPE_BYTE, cmtk::TYPE_CHAR, cmtk::TYPE_INT, cmtk::TYPE_SHORT, cmtk::TYPE_UINT, and cmtk::TYPE_USHORT.

Referenced by cmtk::ScalarImage::GetSobelFiltered().

void cmtk::SplineWarpXform::GetVolumeOfInfluence ( const size_t  idx,
const Self::SpaceVectorType fromVol,
const Self::SpaceVectorType toVol,
Self::SpaceVectorType fromVOI,
Self::SpaceVectorType toVOI,
const int  fastMode = -1 
) const [virtual, inherited]

Get volume influenced by one parameter.

Reimplemented from cmtk::Xform.

Definition at line 390 of file cmtkSplineWarpXform.cxx.

Referenced by cmtk::GroupwiseRegistrationFunctionalXformTemplate< SplineWarpXform >::UpdateVolumesOfInfluence().

void cmtk::Xform::GetVolumeOfInfluence ( const size_t  idx,
const Self::SpaceVectorType fromVol,
const Self::SpaceVectorType toVol,
Self::SpaceVectorType fromVOI,
Self::SpaceVectorType toVOI,
const   int = -1 
) const [virtual, inherited]

Get volume influenced by one parameter.

Reimplemented in cmtk::SplineWarpXform.

Definition at line 103 of file cmtkXform.cxx.

void cmtk::UniformVolume::GetVoxelIndexNoBounds ( const Self::CoordinateVectorType location,
int *const   idx 
) const [inline, inherited]

Find a grid index inside or outside the volume.

Parameters:
locationReal-world coordinates of the location that is to be found.
idxThis array is used to store the index components of the model voxel containing the given location. Values range from 0 to ModelDims[dim-1].

Definition at line 143 of file cmtkUniformVolume.txx.

Referenced by cmtk::InverseInterpolationVolumeReconstruction< TInterpolator >::GetPassImageDependentPixelRegion(), and cmtk::VolumeInjectionReconstruction::VolumeInjectionAnisotropic().

static Types::Coordinate cmtk::Interpolators::NearestNeighbor::GetWeight ( const int  weight,
const Types::Coordinate  x 
) [inline, static, inherited]

Get specific interpolation weight for relative coordinate.

Definition at line 55 of file cmtkNearestNeighborInterpolator.h.

const DataGrid::RegionType cmtk::DataGrid::GetWholeImageRegion (  ) const [inherited]

Get whole image region.

Definition at line 48 of file cmtkDataGrid.cxx.

Referenced by cmtk::WarpXform::GetInverseConsistencyError(), and cmtk::SplineWarpXform::GetInverseConsistencyError().

template<class TFloat >
TFloat cmtk::EigenSystemSymmetricMatrix3x3< TFloat >::hypot2 ( const TFloat &  x,
const TFloat &  y 
) [static, private, inherited]

Helper function that computes the Euclidean length of (x,y).

Definition at line 58 of file cmtkEigenSystemSymmetricMatrix3x3.txx.

void cmtk::SplineWarpXform::Init ( const Self::SpaceVectorType domain,
const Types::Coordinate  delta,
const AffineXform initialXform = NULL,
const bool  exactDelta = false 
) [inherited]

Initialize warp from volume size and control grid density.

Definition at line 67 of file cmtkSplineWarpXform.cxx.

References cmtk::AffineXform::Clone().

void cmtk::SplineWarpXform::Init (  ) [protected, inherited]

Initialize internal data structures.

This function is called from the various destructors to avoid unnecessary duplication of code.

Definition at line 53 of file cmtkSplineWarpXform.cxx.

void cmtk::DeformationField::InitControlPoints ( const AffineXform affineXform = NULL ) [inherited]

Initialize control point positions, potentially with affine displacement.

Definition at line 43 of file cmtkDeformationField.cxx.

References cmtk::AffineXform::ApplyInPlace(), cmtk::AffineXform::GetGlobalScaling(), and cmtk::AffineXform::GetScales().

void cmtk::SplineWarpXform::InitControlPoints ( const AffineXform affineXform = NULL ) [inherited]

Initialize control point positions, potentially with affine displacement.

Definition at line 128 of file cmtkSplineWarpXform.cxx.

References cmtk::AffineXform::ApplyInPlace(), cmtk::AffineXform::GetGlobalScaling(), and cmtk::AffineXform::GetScales().

void cmtk::WarpXform::InitGrid ( const FixedVector< 3, Types::Coordinate > &  domain,
const Self::IndexType dims 
) [virtual, inherited]

Initialized internal data structures for new control point grid.

Definition at line 50 of file cmtkWarpXform.cxx.

void cmtk::GeneralLinearModel::InitResults ( const size_t  nPixels ) [private, inherited]

Initialize results arrays with the correct number of pixels.

Definition at line 178 of file cmtkGeneralLinearModel.cxx.

References cmtk::TYPE_FLOAT.

void cmtk::AffineXform::Insert ( const AffineXform other ) [inherited]

Insert another transformation before this one.

Definition at line 367 of file cmtkAffineXform.cxx.

References cmtk::AffineXform::DecomposeMatrix(), and cmtk::AffineXform::Matrix.

ScalarImage * cmtk::ScalarImage::InterpolateFrom ( const ScalarImage grid,
const CoordinateMatrix3x3 matrix,
const cmtk::Interpolators::InterpolationEnum  interpolation = cmtk::Interpolators::LINEAR 
) const [virtual, inherited]
static Types::Coordinate cmtk::CubicSpline::InterpSpline ( const int  k,
const Types::Coordinate  t 
) [inline, static, inherited]

Compute the value of a given interpolating spline function.

Definition at line 201 of file cmtkCubicSpline.h.

Referenced by cmtk::ScalarImage::GetPixelAtCubic().

static Types::Coordinate cmtk::CubicSpline::InterpSpline0 ( const Types::Coordinate  t ) [inline, static, inherited]

Compute a value of the 0th interpolating spline function.

Definition at line 177 of file cmtkCubicSpline.h.

static Types::Coordinate cmtk::CubicSpline::InterpSpline1 ( const Types::Coordinate  t ) [inline, static, inherited]

Compute a value of the 1st interpolating spline function.

Definition at line 183 of file cmtkCubicSpline.h.

static Types::Coordinate cmtk::CubicSpline::InterpSpline2 ( const Types::Coordinate  t ) [inline, static, inherited]

Compute a value of the 2nd interpolating spline function.

Definition at line 189 of file cmtkCubicSpline.h.

static Types::Coordinate cmtk::CubicSpline::InterpSpline3 ( const Types::Coordinate  t ) [inline, static, inherited]

Compute a value of the 3rd interpolating spline function.

Definition at line 195 of file cmtkCubicSpline.h.

int cmtk::Intersection::IntersectX ( Types::Coordinate fromFactor,
Types::Coordinate toFactor,
const Vector3D offset,
const Vector3D dX,
const Types::Coordinate  Size[3],
const Types::Coordinate  initFromFactor = 0,
const Types::Coordinate  initToFactor = 1,
const int  lowerClosed = 0,
const int  upperClosed = 0 
) [static, inherited]

Compute line-to-volume intersection.

This function computes the part of a lines that lies within a given volume.

Returns:
This function returns 1 if and only if there is a non-empty intersection of line and volume. In this case, the intersection is described by fromFactor and toFactor.
Parameters:
fromFactorIf the function returned 1, this variable holds the relative distance to the entrance point of the line into the volume. 0 means the line's starting point, 1 means its end.
toFactorIf the function returned 1, this variable holds the relative distance to the exit point of the line from the volume. Possible values range from 0 to 1 and have the same meaning as fromFactor.
offsetThis 3D vector is the line's starting point.
dXThis is the vector spanning from the starting point of the line to its end.
SizeThis is the size of the volume. It is always rectilinear with faces parallel to the coordinate axes and its lower left front corner identical to the coordinate origin. If affine transformed volumes are to be tested, the inverse affine transformation has to be applied to the line's endpoints instead.
initFromFactorThe fromFactor parameter's value is initialized with this value. It is therefore the lower bound of the parameter range that is available for intersection.
initToFactorThe toFactor parameter's value is initialized with this value. It is therefore the upper bound of the parameter range that is available for intersection. One application for this parameter is to use a value bigger than 1, even if [0,1] is the allowed range. Then, by testing if toFactor == 1.0, it can be determined whether clipping set the value to 1. This, for example allows to tell closed from open intervals, which may be important for subsequent computation such as volume probing.
lowerClosedThis flag defines whether lower range boundaries are open (value 0, default) or closed (value 1). In case of an open range, the bounding value itself is not an element of the range. Thus, if an intersection is entirely on the boundary, then it is empty in case of an open range.
upperClosedThis flag has the same meaning and default as lowerClosed, but refers to the ranges' upper bounds.

Definition at line 46 of file cmtkIntersection.cxx.

int cmtk::Intersection::IntersectY ( Types::Coordinate fromFactor,
Types::Coordinate toFactor,
const Vector3D offset,
const Vector3D dX,
const Vector3D dY,
const Types::Coordinate  Size[3],
const Types::Coordinate  initFromFactor = 0,
const Types::Coordinate  initToFactor = 1 
) [static, inherited]

Compute plane-to-volume intersection.

This function computes the part of a plane that intersects with a given volume. The intersection is only tested with respect to the dY direction. for the range of relative positions returned by fromFactor and toFactor, IntersectX can be used to computed the exact 2D intersection.

Parameters and return value are identical to IntersectionX.

Parameters:
fromFactorIf the function returned 1, this variable holds the relative distance to the entrance point of the line into the volume. 0 means the line's starting point, 1 means its end.
toFactorIf the function returned 1, this variable holds the relative distance to the exit point of the line from the volume. Possible values range from 0 to 1 and have the same meaning as fromFactor.
offsetThis 3D vector is the line's starting point.
dXThis is the vector spanning from the starting point of the line to its end.
dYThis is the second vector in addition to dX spanning the plane under consideration. In general, dX and dY should be orthogonal, and dY should be defined in the way just as dX is, i.e. as the difference of two plane corner vectors.
SizeThis is the size of the volume. It is always rectilinear with faces parallel to the coordinate axes and its lower left front corner identical to the coordinate origin. If affine transformed volumes are to be tested, the inverse affine transformation has to be applied to the line's endpoints instead.
initFromFactorThe fromFactor parameter's value is initialized with this value. It is therefore the lower bound of the parameter range that is available for intersection.
initToFactorThe toFactor parameter's value is initialized with this value. It is therefore the upper bound of the parameter range that is available for intersection. One application for this parameter is to use a value bigger than 1, even if [0,1] is the allowed range. Then, by testing if toFactor == 1.0, it can be determined whether clipping set the value to 1. This, for example allows to tell closed from open intervals, which may be important for subsequent computation such as volume probing.

Definition at line 85 of file cmtkIntersection.cxx.

int cmtk::Intersection::IntersectZ ( Types::Coordinate fromFactor,
Types::Coordinate toFactor,
const Vector3D offset,
const Vector3D dX,
const Vector3D dY,
const Vector3D dZ,
const Types::Coordinate  Size[3],
const Types::Coordinate  initFromFactor = 0,
const Types::Coordinate  initToFactor = 1 
) [static, inherited]

Compute volume-to-volume intersection.

This function computes the part of a volume that intersects with a given volume. The intersection is only tested with respect to the dZ direction. for the range of relative positions returned by fromFactor and toFactor, IntersectY and afterwards IntersectX can be used to computed the exact 3D intersection.

Parameters and return value are identical to IntersectionX.

Parameters:
fromFactorIf the function returned 1, this variable holds the relative distance to the entrance point of the line into the volume. 0 means the line's starting point, 1 means its end.
toFactorIf the function returned 1, this variable holds the relative distance to the exit point of the line from the volume. Possible values range from 0 to 1 and have the same meaning as fromFactor.
offsetThis 3D vector is the line's starting point.
dXThis is the vector spanning from the starting point of the line to its end.
dYThis is the second vector in addition to dX spanning the plane under consideration. In general, dX and dY should be orthogonal, and dY should be defined in the way just as dX is, i.e. as the difference of two plane corner vectors.
dZThis is the third vector in addition to dX and dY spanning the volume under consideration. In general, dX, dY, and dZ should be orthogonal, and dZ should be defined in the same way as dX and dY are, i.e. as the difference of two plane corner vectors where one is the volume origin.
SizeThis is the size of the volume. It is always rectilinear with faces parallel to the coordinate axes and its lower left front corner identical to the coordinate origin. If affine transformed volumes are to be tested, the inverse affine transformation has to be applied to the line's endpoints instead.
initFromFactorThe fromFactor parameter's value is initialized with this value. It is therefore the lower bound of the parameter range that is available for intersection.
initToFactorThe toFactor parameter's value is initialized with this value. It is therefore the upper bound of the parameter range that is available for intersection. One application for this parameter is to use a value bigger than 1, even if [0,1] is the allowed range. Then, by testing if toFactor == 1.0, it can be determined whether clipping set the value to 1. This, for example allows to tell closed from open intervals, which may be important for subsequent computation such as volume probing.

Definition at line 123 of file cmtkIntersection.cxx.

template<class T >
Matrix3x3< T > & cmtk::Matrix3x3< T >::Invert2x2 (  ) [inherited]

Inversion operator (in place).

Definition at line 202 of file cmtkMatrix3x3.cxx.

template<class T >
Matrix3x3< T > & cmtk::Matrix3x3< T >::Invert3x3 (  ) [inherited]

Inversion operator (in place) as a 3D non-homogeneous matrix.

Definition at line 263 of file cmtkMatrix3x3.cxx.

Referenced by cmtk::MakeInitialAffineTransformation::AlignPrincipalAxes(), and cmtk::SplineWarpXform::ApplyInverseInPlaceWithInitial().

Types::Coordinate cmtk::SplineWarpXform::JacobianDeterminant ( const Types::Coordinate cp ) const [inherited]

Compute Jacobian determinant at a certain control point.

As we evaluate the spline polynomials and their derivatives at a known control point, they reduce to constants which allows for a particularly efficient computation.

Parameters:
cpPointer to the spline control point at which the Jacobian determinant is to be evaluated. This pointer is assumed to be pointing to the 0th-component (ie, x) of a non-peripheral control point. Callers have to make sure that this is true.

Definition at line 498 of file cmtkSplineWarpXform_Jacobian.cxx.

cmtk::Landmark::Landmark (  ) [inherited]

Default constructor.

Definition at line 42 of file cmtkLandmark.cxx.

References NULL.

cmtk::Landmark::Landmark ( const char *  name,
const Types::Coordinate  location[3] 
) [inherited]

Explicit constructor.

Definition at line 47 of file cmtkLandmark.cxx.

void cmtk::TransformedVolumeAxes::MakeHash ( const UniformVolume volume,
const UniformVolume::SpaceVectorType offset,
const UniformVolume::SpaceVectorType dX,
const UniformVolume::SpaceVectorType dY,
const UniformVolume::SpaceVectorType dZ 
) [private, inherited]

Create the actual hash: allocate and fill according to given offset and delta vectors.

Definition at line 120 of file cmtkTransformedVolumeAxes.cxx.

References cmtk::UniformVolume::m_Delta, cmtk::DataGrid::m_Dims, and NULL.

void cmtk::AffineXform::MakeIdentityXform (  ) [inherited]

Create identity transformation.

Definition at line 50 of file cmtkAffineXform.cxx.

AffineXform * cmtk::AffineXform::MakeInverse (  ) const [virtual, inherited]
virtual SplineWarpXform* cmtk::SplineWarpXform::MakeInverse (  ) const [inline, virtual, inherited]

Create inverse transformation.

This function returns NULL as there is no explicit inverse of a spline warp transformation.

Definition at line 110 of file cmtkSplineWarpXform.h.

References NULL.

template<class W >
Types::Coordinate * cmtk::ActiveDeformationModel< W >::MakeSamplePoints ( const W *  deformation ) [private, inherited]

Make ADM sample points from a given deformation.

This function applies the inverse affine transformation of the given deformation to all of its control points. This brings all deformations into the same reference system, which is a necessary condition for model building. Note that otherwise all control point positions are in the coordinate system of the respective floating image, which varies from deformation to deformation.

Definition at line 148 of file cmtkActiveDeformationModel.cxx.

template<class W >
Types::Coordinate * cmtk::ActiveDeformationModel< W >::MakeSamplePointsReference ( const W *  deformation ) [private, inherited]

Make ADM sample points from the undeformed c.p.g.

of a given deformation. This is for inclusion of the reference individual into the model by putting the identity transformation into the sample set.

Definition at line 126 of file cmtkActiveDeformationModel.cxx.

template<class T >
cmtk::Matrix3x3< T >::Matrix3x3 (  ) [inherited]

Default constructor: make identity matrix.

Note:
In order to create an uninitialized matrix (for speed), use Matrix3x3<>( NULL ).
Todo:
We do not actually support shear yet.

Definition at line 49 of file cmtkMatrix3x3.cxx.

template<class T >
cmtk::Matrix3x3< T >::Matrix3x3 ( const Self other ) [inherited]

Copy constructor.

Definition at line 56 of file cmtkMatrix3x3.cxx.

References cmtk::Matrix3x3< T >::Matrix.

template<class T >
cmtk::Matrix4x4< T >::Matrix4x4 (  ) [inherited]

Default constructor: make identity matrix.

Note:
In order to create an uninitialized matrix (for speed), use Matrix4x4<>( NULL ).

Definition at line 53 of file cmtkMatrix4x4.cxx.

template<class T>
cmtk::Matrix4x4< T >::Matrix4x4 ( const Matrix3x3< T > &  other ) [inherited]

Top left submatrix copy constructor.

Definition at line 60 of file cmtkMatrix4x4.cxx.

template<class T >
T cmtk::MathUtil::Mean ( const unsigned int  nValues,
const T *  values 
) [static, inherited]

Computes average of an array of float values.

Definition at line 46 of file cmtkMathUtil_Statistics.txx.

template<class T >
T cmtk::MathUtil::Mean ( const std::vector< T > &  values ) [static, inherited]

Computes average of a vector of float values.

Definition at line 81 of file cmtkMathUtil_Statistics.txx.

void cmtk::ScalarImage::Mirror ( const bool  horizontal,
const bool  vertical 
) [inherited]

Mirror image horizontally and/or vertically.

Definition at line 775 of file cmtkScalarImage.cxx.

References cmtk::ScalarImage::m_Dims, and cmtk::ScalarImage::m_ImageOrigin.

Referenced by cmtk::QtTriplanarWindow::slotSwitchImageCo(), and cmtk::QtTriplanarWindow::slotSwitchImageSa().

void cmtk::DataGrid::MirrorPlaneInPlace ( TypedArray data,
const Self::IndexType dims,
const int  axis = AXIS_X 
) [static, private, inherited]

Mirror about plane without allocating additional memory.

Definition at line 280 of file cmtkDataGrid.cxx.

References cmtk::AXIS_X, cmtk::AXIS_Y, cmtk::AXIS_Z, cmtk::TypedArray::BlockReverse(), and cmtk::TypedArray::BlockSwap().

template<class T>
void cmtk::Histogram< T >::Normalize ( const T  normalizeTo = 1 ) [inherited]

Normalize histogram values by their total sum.

Parameters:
normalizeToAll histogram bins are scaled by a common factor so that their sum matches the value of this parameter.

Definition at line 116 of file cmtkHistogram.cxx.

void cmtk::DirectionSet::NormalizeEuclidNorm ( const double  value = 1.0 ) [inherited]

Normalizes each direction vector to have euclid norm = value.

Definition at line 54 of file cmtkDirectionSet.cxx.

template<class T>
void cmtk::Histogram< T >::NormalizeMaximum ( const T  normalizeTo = 1 ) [inherited]

Normalize histogram values by their maximum.

Parameters:
normalizeToAll histogram bins are scaled by a common factor so that their maximum matches the value of this parameter.

Definition at line 127 of file cmtkHistogram.cxx.

void cmtk::DirectionSet::NormalizeMaxNorm ( const double  value = 1.0 ) [inherited]

Normalizes each direction vector to have max norm = value.

Definition at line 43 of file cmtkDirectionSet.cxx.

bool cmtk::AnatomicalOrientationBase::OnSameAxis ( const char  from,
const char  to 
) [static, inherited]

Return true if the direction corresponding to the character 'from' is on the same axis as that corresponding to 'to'.

Parameters:
fromEither L, R, A, P, I, or S
toEither L, R, A, P, I, or S

Definition at line 84 of file cmtkAnatomicalOrientationBase.cxx.

template<int DIM>
Types::DataItem cmtk::FilterMask< DIM >::Gaussian::operator() ( const FixedVector< DIM, Types::Coordinate > &  relativePosition ) [inline, inherited]

Get filter coefficient at relative location from filter center.

Definition at line 192 of file cmtkFilterMask.h.

template<class T >
T cmtk::operator* ( const Vector< T > &  p,
const Vector< T > &  q 
) [inline]

Scalar product.

This operator computes the standard scalar product of two vectors over the same primitive type. As only a primitive object is returned as the result of this operator, it is time- and memory-efficient.

Definition at line 116 of file cmtkVector.txx.

References cmtk::Vector< T >::Dim, and cmtk::Vector< T >::Elements.

template<class T >
const Matrix3x3< T > cmtk::Matrix3x3< T >::operator* ( const Self other ) const [inherited]

Multiplication operator.

Definition at line 343 of file cmtkMatrix3x3.cxx.

References cmtk::Matrix< TElement, NDim >::Matrix(), and NULL.

template<class T >
const Matrix4x4< T > cmtk::Matrix4x4< T >::operator* ( const Self other ) const [inherited]

Multiplication operator.

Definition at line 446 of file cmtkMatrix4x4.cxx.

References cmtk::Matrix< TElement, NDim >::Matrix(), and NULL.

template<class T >
Vector<T> cmtk::operator* ( const T  c,
const Vector< T > &  p 
)

Scalar-to-vector multiplication operator.

Every element of a vector is multiplies by the same scalar factor. The result is returned as an automatically created object. This operator is rather inefficient in terms of allocation and destruction of objects; use *= instead if possible.

Definition at line 83 of file cmtkVector.txx.

References cmtk::Vector< T >::Dim, and cmtk::Vector< T >::Elements.

template<class T , class T2 >
FixedVector<3,T2> cmtk::operator* ( const FixedVector< 3, T2 > &  u,
const Matrix4x4< T > &  M 
)

Multiplication with 3d vector operation (will implicitly be made homogeneous).

Definition at line 168 of file cmtkMatrix4x4.h.

template<class T >
Matrix3x3< T > & cmtk::Matrix3x3< T >::operator*= ( const Self other ) [inherited]

In-place multiplication operator.

Definition at line 321 of file cmtkMatrix3x3.cxx.

template<class T , class T2 >
FixedVector<3,T2>& cmtk::operator*= ( FixedVector< 3, T2 > &  u,
const Matrix4x4< T > &  M 
)

In-place multiplication with 3d vector operation (will implicitly be made homogeneous).

Definition at line 160 of file cmtkMatrix4x4.h.

template<class T>
Matrix3x3< T > & cmtk::Matrix3x3< T >::operator*= ( const T  scalar ) [inherited]

In-place scalar multiplication operator.

Definition at line 328 of file cmtkMatrix3x3.cxx.

template<class T >
Matrix4x4< T > & cmtk::Matrix4x4< T >::operator*= ( const Self other ) [inherited]

In-place multiplication operator.

Definition at line 438 of file cmtkMatrix4x4.cxx.

template<class T >
ValueSequence<T> cmtk::operator+ ( const ValueSequence< T > &  a,
const ValueSequence< T > &  b 
)
template<class T >
Vector<T> cmtk::operator+ ( const Vector< T > &  p,
const Vector< T > &  delta 
)

Vector addition operator.

Two vectors are added elementwise. A newly created vector object is returned. This operator is rather inefficient in terms of allocation and destruction of objects; use -= instead if possible.

Definition at line 45 of file cmtkVector.txx.

References cmtk::Vector< T >::Dim, and cmtk::Vector< T >::Elements.

ScalarImage* cmtk::operator- ( const ScalarImage &  image0,
const ScalarImage &  image1 
)
template<class T >
Vector<T> cmtk::operator- ( const Vector< T > &  p,
const Vector< T > &  delta 
) [inline]

Vector subtraction operator.

Two vectors are subtracted elementwise. A newly created vector object is returned. This operator is rather inefficient in terms of allocation and destruction of objects; use += instead if possible.

Definition at line 64 of file cmtkVector.txx.

References cmtk::Vector< T >::Dim, and cmtk::Vector< T >::Elements.

ScalarImage & cmtk::ScalarImage::operator-= ( const ScalarImage source ) [inherited]

Subtract one image from another in place.

Definition at line 753 of file cmtkScalarImage.cxx.

References cmtk::TypedArray::Get(), cmtk::TypedArray::Set(), and cmtk::TypedArray::SetPaddingAt().

template<class T >
Console& cmtk::operator<< ( Console &  stream,
const Matrix3x3< T > &  m 
) [inline]

Output object to console.

Definition at line 197 of file cmtkMatrix3x3.h.

template<class T >
Console& cmtk::operator<< ( Console &  stream,
const Matrix4x4< T > &  m 
) [inline]

Output object to console.

Definition at line 179 of file cmtkMatrix4x4.h.

AffineXform & cmtk::AffineXform::operator= ( const AffineXform other ) [inherited]
template<class T >
Matrix3x3< T > & cmtk::Matrix3x3< T >::operator= ( const Self other ) [inherited]

Assignment operator.

Definition at line 362 of file cmtkMatrix3x3.cxx.

References cmtk::Matrix3x3< T >::Matrix.

template<class T >
ValueSequence< T > & cmtk::ValueSequence< T >::operator= ( const ValueSequence< T > &  other ) [inherited]
template<class T>
Matrix4x4< T > & cmtk::Matrix4x4< T >::operator= ( const Matrix3x3< T > &  other ) [inherited]

3x3 submatrix assignment operator.

Definition at line 465 of file cmtkMatrix4x4.cxx.

bool cmtk::BitVector::operator[] ( const size_t  pos ) const [inherited]

Return a given bit.

Definition at line 124 of file cmtkBitVector.cxx.

template<class T >
T cmtk::MathUtil::PairedTTest ( const std::vector< T > &  valuesX,
const std::vector< T > &  valuesY,
T &  t,
T &  avgX,
T &  avgY 
) [static, inherited]

Performs two-tailed paired t-test on two distributions.

Also return average value for each distribution.

Definition at line 157 of file cmtkMathUtil_Statistics.txx.

cmtk::ParametricPlane::ParametricPlane (  ) [inherited]

Default constructor.

Definition at line 46 of file cmtkParametricPlane.cxx.

References cmtk::ParametricPlane::Update().

cmtk::AnatomicalOrientation::PermutationMatrix::PermutationMatrix ( const FixedVector< 3, int > &  sourceDims,
const std::string &  curOrientation,
const char  newOrientation[3] 
) [inherited]

Constructor: determine axes permutation, flipping, and store local copy of reoriented dimensions array.

Definition at line 46 of file cmtkAnatomicalOrientationPermutationMatrix.cxx.

void cmtk::AffineXform::Print (  ) const [virtual, inherited]
void cmtk::DataGrid::Print (  ) const [inherited]

Print object.

Definition at line 617 of file cmtkDataGrid.cxx.

References cmtk::Console::printf(), and cmtk::StdErr.

void cmtk::ScalarImage::Print (  ) const [virtual, inherited]
void cmtk::printBlock ( Types::DataItem  block[COUPE_BLOCK_SIZE] )

Definition at line 134 of file cmtkFilterVolume.cxx.

References COUPE_BLOCK_SIZE.

double cmtk::MathUtil::ProbabilityFromTStat ( const double  t,
const size_t  df 
) [static, inherited]

Compute probability from T-statistic.

Parameters:
tT-statistic as returned for example from MathUtil::TStatFromCorrelation function.
dfNumber of degrees of freedom.

Definition at line 55 of file cmtkMathUtil_Statistics.cxx.

template<class TData >
bool cmtk::UniformVolume::ProbeData ( TData &  result,
const TData *  dataPtr,
const Self::CoordinateVectorType location 
) const [inline, inherited]
bool cmtk::UniformVolume::ProbeNoXform ( ProbeInfo probeInfo,
const Self::CoordinateVectorType location 
) const [inline, inherited]

Return linearly interpolated voxel without applying a transformation.

Definition at line 75 of file cmtkUniformVolume.txx.

void cmtk::ScalarImage::ProjectPixel ( const Self::SpaceVectorType v,
int &  i,
int &  j 
) const [inherited]

Project 3D coordinate onto image plane.

Parameters:
vOriginal coordinate.
iIndex of projected pixel in x direction.
jIndex of projected pixel in y direction.

Definition at line 972 of file cmtkScalarImage.cxx.

References cmtk::MathUtil::Round().

void cmtk::TypedArray::PruneHistogram ( const bool  pruneHi,
const bool  pruneLo,
const size_t  numberOfBinsTarget,
const size_t  numberOfBinsInternal = 1024 
) [virtual, inherited]

Prune histogram to trim noise.

This function trims values on the upper and lower end of the value range by thresholding in such a way that the trimmed number of samples on either side amounts to the relative fraction of samples based on a target histogram bin count.

Definition at line 189 of file cmtkTypedArray.cxx.

References cmtk::Types::Range< T >::m_LowerBound, and cmtk::Types::Range< T >::m_UpperBound.

template<class TFloat >
cmtk::QRDecomposition< TFloat >::QRDecomposition ( const Matrix2D< TFloat > &  matrix ) [inherited]

Constructor: compute QR decomposition of given matrix.

Definition at line 45 of file cmtkQRDecomposition.txx.

References cmtk::Matrix2D< T >::GetNumberOfColumns(), and cmtk::Matrix2D< T >::GetNumberOfRows().

void cmtk::SplineWarpXform::Refine (  ) [virtual, inherited]

Refine control point grid by a factor of two, but maintain transformation exactly.

Reimplemented from cmtk::WarpXform.

Definition at line 254 of file cmtkSplineWarpXform.cxx.

void cmtk::SplineWarpXform::RegisterVolume ( const UniformVolume volume ) [inline, inherited]
void cmtk::SplineWarpXform::RegisterVolumeAxis ( const DataGrid::IndexType::ValueType  dim,
const Types::Coordinate  delta,
const Types::Coordinate  origin,
const int  cpgDim,
const Types::Coordinate  invCpgSpacing,
std::vector< int > &  g,
std::vector< Types::Coordinate > &  spline,
std::vector< Types::Coordinate > &  dspline 
) [private, inherited]

Register a single axis of the uniform volume to be deformed.

Definition at line 427 of file cmtkSplineWarpXform.cxx.

void cmtk::SplineWarpXform::RegisterVolumePoints ( const DataGrid::IndexType ,
const Self::SpaceVectorType  
) [private, inherited]

Register axes points of the volume to be deformed.

void cmtk::SplineWarpXform::RegisterVolumePoints ( const DataGrid::IndexType volDims,
const Self::SpaceVectorType delta,
const Self::SpaceVectorType origin 
) [private, inherited]

Register axes points of the volume to be deformed.

Definition at line 451 of file cmtkSplineWarpXform.cxx.

void cmtk::SplineWarpXform::RelaxToUnfold (  ) [virtual, inherited]

Relax the deformation to unfold areas with negative Jacobian at the current image sampling.

Note:
This requires a uniform pixel grid to be registered with this transformation.
See also:
RegisterVolume

Definition at line 802 of file cmtkSplineWarpXform_Jacobian.cxx.

References cmtk::FixedVector< NDIM, T >::SumOfSquares().

template<class T >
void cmtk::Histogram< T >::RemoveHistogram ( const Self other ) [inherited]

Subtract bin values from another histogram.

Subtraction is done by corresponding bins. The caller has to make sure that both histograms actually have the same number of bins. It is also a good idea to ensure that the data ranges of these bins are the same in both objects. Both can be guaranteed if one histogram was created from the other by a call to Clone() for example.

Parameters:
otherA pointer to the other histogram. Its bin values are subtracted this object's bins.

Definition at line 101 of file cmtkHistogram.cxx.

References cmtk::Histogram< T >::GetNumBins(), and cmtk::Histogram< T >::m_Bins.

void cmtk::WarpXform::ReplaceInitialAffine ( const AffineXform newAffineXform = NULL ) [inherited]

Replace initial affine transformation.

If the new transformation is not given (or a NULL pointer), then the new initial affine transformation is the identity transformation. This means that the transformation is converted into its pure nonrigid form.

Definition at line 274 of file cmtkWarpXform.cxx.

References cmtk::AffineXform::ApplyInPlace(), cmtk::AffineXform::Clone(), cmtk::AffineXform::Concat(), cmtk::META_XFORM_FIXED_IMAGE_PATH, and cmtk::META_XFORM_MOVING_IMAGE_PATH.

TypedArray::SmartPtr cmtk::UniformVolume::Resample ( const UniformVolume other ) const [virtual, inherited]

Resample other volume.

Resampling is done by a sliding window algorithm combining both interpolation and averaging, even within one volume.

Returns:
Pointer to a newly created TypedArray object holding the resampled volume data. NULL is returned if sufficient memory is not available.

Definition at line 47 of file cmtkUniformVolume_Resample.cxx.

References cmtk::DATACLASS_GREY, cmtk::DATACLASS_LABEL, cmtk::Memory::DeleteArray(), cmtk::ThreadPool::GetNumberOfThreads(), cmtk::TypedArray::GetPaddingFlag(), cmtk::TypedArray::GetPaddingValue(), cmtk::TypedArray::GetType(), and cmtk::ThreadPool::Run().

void cmtk::UniformVolume::ResampleThreadPoolExecuteGrey ( void *const   arg,
const size_t  taskIdx,
const size_t  taskCnt,
const size_t  threadIdx,
const size_t  threadCnt 
) [static, private, inherited]
void cmtk::UniformVolume::ResampleThreadPoolExecuteLabels ( void *const   arg,
const size_t  taskIdx,
const size_t  taskCnt,
const size_t  threadIdx,
const size_t  threadCnt 
) [static, private, inherited]
void cmtk::TypedArray::RescaleToRange ( const Types::DataItemRange toRange ) [virtual, inherited]

Scale values in the array to a given target range.

Definition at line 47 of file cmtkTypedArray.cxx.

References cmtk::Types::Range< T >::m_LowerBound, and cmtk::Types::Range< T >::Width().

template<class TDataType >
void cmtk::Accumulators::Avg< TDataType >::Reset (  ) [inline, inherited]

Reset.

Definition at line 59 of file cmtkAccumulatorAvg.h.

template<class TDataType >
void cmtk::Accumulators::Max< TDataType >::Reset (  ) [inline, inherited]

Reset.

Definition at line 59 of file cmtkAccumulatorMax.h.

void cmtk::BitVector::Reset ( const size_t  pos ) [inherited]

Set one bit to 0.

Definition at line 105 of file cmtkBitVector.cxx.

template<class TDataType >
void cmtk::Accumulators::Sum< TDataType >::Reset (  ) [inline, inherited]

Reset.

Definition at line 60 of file cmtkAccumulatorSum.h.

void cmtk::BitVector::Reset ( const bool  value = false ) [inherited]

Set all bits to given flag (default: clear all).

Definition at line 96 of file cmtkBitVector.cxx.

TypedArray::SmartPtr cmtk::FilterVolume::RohlfingFilter ( const UniformVolume volume,
const TypedArray subjectData,
const TypedArray maskData,
const Units::GaussianSigma iFilterSigma,
const Units::GaussianSigma filterWidth,
const Types::Coordinate  filterRadius 
) [static, inherited]

Apply Torsten Rohlfing's single-image intensity-consistent Gaussian filter.

Parameters:
volumeInput 3D image.
subjectDataPixel array of the individual grey image from this subject.
maskDataOptional binary mask data array.
iFilterSigmaWidth (standard deviation of the Gaussian kernel.
filterWidthWidth (standard deviation of the Gaussian kernel.
filterRadiusFilter radius in multiples of the filter width. Outside the radius (Euclidean distance) the filter is truncated.
Returns:
A newly allocated TypedArray object that can be used, for example, to replace the one held by the input image. The data type of the array is identical to the input array.

Definition at line 143 of file cmtkFilterVolume.cxx.

References cmtk::Histogram< T >::AddWeightedSymmetricKernel(), cmtk::AXIS_X, cmtk::AXIS_Y, cmtk::AXIS_Z, cmtk::UniformVolume::Deltas(), cmtk::TypedArray::Get(), cmtk::TypedArray::GetDataSize(), cmtk::DataGrid::GetDims(), cmtk::TypedArray::GetRange(), cmtk::TypedArray::GetType(), M_PI, cmtk::Histogram< T >::Reset(), cmtk::HistogramBase::SetRange(), cmtk::Units::UnitBase::Value(), and cmtk::HistogramBase::ValueToBin().

AffineXform::SpaceVectorType cmtk::AffineXform::RotateScaleShear ( const Self::SpaceVectorType v ) const [inherited]

Apply rotation, scaling, and shearing but no translation to vector.

This function only used the upper left 3x3 sub-matrix of Matrix to transform a given vector. This is needed for rotation-center changes.

Note:
It is safe to use the same address for source and destination of this operation.
Returns:
The rotated, scaled, and sheared vector.
Parameters:
vThe vector to be rotated, scaled, and sheared.

Definition at line 186 of file cmtkAffineXform.cxx.

Referenced by cmtk::AffineXform::ChangeCenter(), and cmtk::GroupwiseRegistrationFunctionalXformTemplate< SplineWarpXform >::ForceZeroSumGradient().

void cmtk::AffineXform::RotateWXYZ ( const Units::Radians  angle,
const Self::SpaceVectorType direction,
const Types::Coordinate origin = NULL,
Self::MatrixType *const   accumulate = NULL 
) [inherited]

Rotate around axis.

Parameters:
angleRotation angle.
directionDirection vector of the rotation axis.
originIf this parameter is given, it defines the 3D coordinates of a point on the rotation axis. If this parameter is not given, the rotation axis goes through the rotation center of this transformation.
accumulateThis parameter, if given, points to a 4x4 transformation matrix that can accumulate successive rotations. If given, two things happen: a) the current rotation axis is rotated according to the accumulated transformation, and b) the new rotation is concatenated onto the accumulated matrix by multiplication.

Definition at line 377 of file cmtkAffineXform.cxx.

References cmtk::MathUtil::Cos(), cmtk::Matrix4x4< T >::GetInverse(), and cmtk::MathUtil::Sin().

template<class T>
Matrix4x4< T > cmtk::Matrix4x4< T >::RotateX ( const T  angle ) [static, inherited]

Return rotation around x axis.

Definition at line 510 of file cmtkMatrix4x4.cxx.

template<class T>
Matrix4x4< T > cmtk::Matrix4x4< T >::RotateY ( const T  angle ) [static, inherited]

Return rotation around y axis.

Definition at line 521 of file cmtkMatrix4x4.cxx.

template<class T>
Matrix4x4< T > cmtk::Matrix4x4< T >::RotateZ ( const T  angle ) [static, inherited]

Return rotation around z axis.

Definition at line 532 of file cmtkMatrix4x4.cxx.

cmtk::ScalarImage::ScalarImage ( const ScalarImage other,
const Self::RegionType roi 
) [inherited]
cmtk::ScalarImage::ScalarImage ( const ScalarImage source,
const int *  roiFrom = NULL,
const int *  roiTo = NULL 
) [inherited]

Get ROI as sub-image.

Parameters:
sourceThe source image to copy an ROI from.
roiFromThe (x,y) pixel of the original image that will make up the top left (0,0) pixel of this image.
roiToThe (x,y) pixel of the original image that will make up the bottom right (dimx-1,dimy-1) pixel of this image.
Note:
Note that the ROI given by roiFrom and roiTo is an inclusive boundary, i.e., the indexed row and column will still be part of the cropped image. The cropped image dimension is therefore (1+roiTo[0]-roiFrom[0],1+roiTo[0]-roiFrom[0]).

Definition at line 77 of file cmtkScalarImage.cxx.

References cmtk::AXIS_X, cmtk::AXIS_Y, cmtk::ScalarImage::Clone(), cmtk::TypedArray::ConvertSubArray(), cmtk::ScalarImage::GetImageOrigin(), cmtk::TypedArray::GetPaddingFlag(), cmtk::TypedArray::GetPaddingPtr(), cmtk::TypedArray::GetType(), cmtk::ScalarImage::HasROI, cmtk::ScalarImage::m_Dims, and cmtk::ScalarImage::ROI.

cmtk::ScalarImage::ScalarImage (  ) [inherited]

Default constructor creates empty image.

Definition at line 52 of file cmtkScalarImage.cxx.

References cmtk::ScalarImage::m_Dims.

Referenced by cmtk::ScalarImage::Clone().

cmtk::ScalarImage::ScalarImage ( const int  dimsx,
const int  dimsy,
const int  numberOfFrames = 1 
) [inherited]

Constructor with separate x and y dimensions.

Definition at line 63 of file cmtkScalarImage.cxx.

static Types::Coordinate cmtk::CubicSpline::SecondDerivApproxSpline ( const int  k,
const Types::Coordinate  t 
) [inline, static, inherited]

Compute the second derivative of a given approximating spline function.

Definition at line 161 of file cmtkCubicSpline.h.

static Types::Coordinate cmtk::CubicSpline::SecondDerivApproxSpline0 ( const Types::Coordinate  t ) [inline, static, inherited]

Compute the second derivative of the 0th approximating spline function.

Definition at line 137 of file cmtkCubicSpline.h.

static Types::Coordinate cmtk::CubicSpline::SecondDerivApproxSpline1 ( const Types::Coordinate  t ) [inline, static, inherited]

Compute second derivative of the 1st approximating spline function.

Definition at line 143 of file cmtkCubicSpline.h.

static Types::Coordinate cmtk::CubicSpline::SecondDerivApproxSpline2 ( const Types::Coordinate  t ) [inline, static, inherited]

Compute second derivative of the 2nd approximating spline function.

Definition at line 149 of file cmtkCubicSpline.h.

static Types::Coordinate cmtk::CubicSpline::SecondDerivApproxSpline3 ( const Types::Coordinate  t ) [inline, static, inherited]

Compute second derivative of the 3rd approximating spline function.

Definition at line 155 of file cmtkCubicSpline.h.

static Types::Coordinate cmtk::CubicSpline::SecondDerivInterpSpline ( const int  k,
const Types::Coordinate  t 
) [inline, static, inherited]

Compute second derivative of a given interpolating spline function.

Definition at line 281 of file cmtkCubicSpline.h.

static Types::Coordinate cmtk::CubicSpline::SecondDerivInterpSpline0 ( const Types::Coordinate  t ) [inline, static, inherited]

Compute second derivative of the 0th interpolating spline function.

Definition at line 257 of file cmtkCubicSpline.h.

static Types::Coordinate cmtk::CubicSpline::SecondDerivInterpSpline1 ( const Types::Coordinate  t ) [inline, static, inherited]

Compute second derivative of the 1st interpolating spline function.

Definition at line 263 of file cmtkCubicSpline.h.

static Types::Coordinate cmtk::CubicSpline::SecondDerivInterpSpline2 ( const Types::Coordinate  t ) [inline, static, inherited]

Compute second derivative of the 2nd interpolating spline function.

Definition at line 269 of file cmtkCubicSpline.h.

static Types::Coordinate cmtk::CubicSpline::SecondDerivInterpSpline3 ( const Types::Coordinate  t ) [inline, static, inherited]

Compute second derivative of the 3rd interpolating spline function.

Definition at line 275 of file cmtkCubicSpline.h.

ScalarDataType cmtk::SelectDataTypeInteger ( const byte  itemSize,
const bool  signBit 
)

Select integer data type based on item size and sign bit.

Definition at line 98 of file cmtkTypes.cxx.

References cmtk::TYPE_BYTE, cmtk::TYPE_CHAR, cmtk::TYPE_INT, cmtk::TYPE_NONE, cmtk::TYPE_SHORT, and cmtk::TYPE_USHORT.

Referenced by cmtk::VolumeFromSlices::FinishVolume().

template<class T>
Matrix3x3< T > & cmtk::Matrix3x3< T >::Set ( const T *const   values ) [inherited]

Set from array of entries.

Definition at line 63 of file cmtkMatrix3x3.cxx.

Referenced by cmtk::SplineWarpXform::GetJacobianRow().

template<class T>
Matrix4x4< T > & cmtk::Matrix4x4< T >::Set ( const T *const   values ) [inherited]

Set from array of entries.

Definition at line 79 of file cmtkMatrix4x4.cxx.

void cmtk::BitVector::Set ( const size_t  pos,
const bool  val = true 
) [inherited]

Set one bit to a given value.

Definition at line 83 of file cmtkBitVector.cxx.

void cmtk::BitVector::Set (  ) [inherited]

Set all bits to 1.

Definition at line 77 of file cmtkBitVector.cxx.

void cmtk::VolumeClipping::SetClippingBoundaries ( const UniformVolume::CoordinateRegionType region ) [inherited]

Set clipping boundaries.

This function sets the boundaries by which clipping is performed.

Parameters:
regionThe clipping region in image coordinates

Definition at line 48 of file cmtkVolumeClipping.cxx.

void cmtk::DataGrid::SetDims ( const Self::IndexType dims ) [inherited]

Set dimensions array.

This function updates the internal offsets for fast access to adjacent voxel rows, columns, planes etc.

Definition at line 185 of file cmtkDataGrid.cxx.

Referenced by cmtk::DataGrid::GetDownsampledAndAveraged().

void cmtk::UniformVolume::SetHighResCropRegion ( const Self::CoordinateRegionType crop ) [inherited]

Set cropping region in real-world coordinates.

Definition at line 44 of file cmtkUniformVolume_Crop.cxx.

Referenced by cmtk::UniformVolume::GetDownsampledAndAveraged().

void cmtk::AffineXform::SetMatrix ( const MatrixType matrix ) [inherited]
void cmtk::AffineXform::SetMatrix ( const double  matrix[4][4] ) [inherited]
void cmtk::AffineXform::SetMatrix ( const float  matrix[4][4] ) [inherited]

Set transformation matrix.

Definition at line 249 of file cmtkAffineXform.cxx.

References cmtk::AffineXform::DecomposeMatrix(), and cmtk::AffineXform::UpdateInverse().

void cmtk::ParametricPlane::SetNormal ( const Self::CoordinateVectorType normal ) [inherited]
void cmtk::AffineXform::SetNumberDOFs ( const int  numberDOFs = 12 ) [virtual, inherited]

Set the number of degrees of freedom for this object.

Definition at line 136 of file cmtkAffineXform.cxx.

References cmtk::AffineXform::ComposeMatrix(), cmtk::Xform::m_Parameters, and cmtk::AffineXform::NumberDOFs.

Referenced by cmtk::AffineXform::MakeInverse().

void cmtk::DataGrid::SetOrthoSlice ( const int  axis,
const unsigned int  idx,
const ScalarImage slice 
) [virtual, inherited]
void cmtk::AffineXform::SetParameter ( const size_t  idx,
const Types::Coordinate  p 
) [virtual, inherited]

Set a single parameter value.

Reimplemented from cmtk::Xform.

Definition at line 304 of file cmtkAffineXform.cxx.

References cmtk::AffineXform::CanonicalRotationRange(), cmtk::AffineXform::ComposeMatrix(), and cmtk::Xform::SetParameter().

void cmtk::WarpXform::SetParameterActive ( const size_t  index,
const bool  active = true 
) [inherited]

Set a particular parameter as active (or passive).

Parameters:
indexIndex of the parameter.
activeFlag whether to set the parameter as active (non-zero) or passive (zero).

Definition at line 200 of file cmtkWarpXform.cxx.

void cmtk::WarpXform::SetParameterInactive ( const size_t  index ) [inherited]

Set a particular parameter as inactive.

Definition at line 249 of file cmtkWarpXform.cxx.

void cmtk::WarpXform::SetParametersActive ( const UniformVolume::RegionType roi ) [inherited]

Set only those parameters as active that influence a given ROI.

Definition at line 210 of file cmtkWarpXform.cxx.

void cmtk::WarpXform::SetParametersActive ( const char *  axes ) [inherited]

Set parameters for spatial dimensions as active.

Parameters:
axesThis parameter defiend the activated dimensions in this transformation. If it contains the characters x, y, or z, then the x, y, and z-directions, respectively, are activated. The remaining directions (if any) are deativated. The order of the axes is not relevant. Both upper- and lowercase characters will be accepted.

Definition at line 231 of file cmtkWarpXform.cxx.

References cmtk::AXIS_X, cmtk::AXIS_Y, and cmtk::AXIS_Z.

void cmtk::WarpXform::SetParametersActive ( const int  axis,
const bool  active = true 
) [inherited]

Set parameters for one spatial dimension as active or inactive.

Definition at line 220 of file cmtkWarpXform.cxx.

void cmtk::WarpXform::SetParametersActive (  ) [inherited]

Set all parameters as active.

Definition at line 189 of file cmtkWarpXform.cxx.

void cmtk::AffineXform::SetParamVector ( const CoordinateVector v ) [virtual, inherited]

Set Xform by constant parameter vector.

Other than setting the transformation from a non-constant vector object, this function does not update the given parameter vector to match the internal representation of the igsAfffineXform object. It is therefore not guaranteed that subsequent calls to GetParamVector() will yield the same parameters.

Reimplemented from cmtk::Xform.

Definition at line 296 of file cmtkAffineXform.cxx.

References cmtk::AffineXform::CanonicalRotationRange(), cmtk::AffineXform::ComposeMatrix(), and cmtk::Xform::SetParamVector().

void cmtk::Xform::SetParamVector ( CoordinateVector v ) [virtual, inherited]

Set Xform by parameter vector.

Be careful: This is NOT a one-way function. The Xform object may change the parameter vector in order to ensure internal consistency (AffineXform) or to enhance efficiency.

Reimplemented in cmtk::AffineXform.

Definition at line 65 of file cmtkXform.cxx.

Referenced by cmtk::ParallelElasticFunctional< VM >::EvaluateGradientThread(), cmtk::ImagePairNonrigidRegistrationFunctionalTemplate< VM >::EvaluateGradientThread(), and cmtk::AffineXform::SetParamVector().

void cmtk::Xform::SetParamVector ( const CoordinateVector v ) [virtual, inherited]

Set the parameter vector.

Reimplemented in cmtk::AffineXform.

Definition at line 79 of file cmtkXform.cxx.

void cmtk::AffineXform::SetParamVector ( CoordinateVector v ) [virtual, inherited]
void cmtk::AffineXform::SetUseLogScaleFactors ( const bool  logScaleFactors ) [inherited]

Switch between log and ordinary scale factors.

Definition at line 147 of file cmtkAffineXform.cxx.

References cmtk::AffineXform::m_LogScaleFactors, and cmtk::Xform::m_Parameters.

Referenced by cmtk::operator>>().

cmtk::SplineWarpXform::SplineWarpXform ( const FixedVector< 3, Types::Coordinate > &  domain,
const Self::IndexType dims,
CoordinateVector::SmartPtr parameters,
const AffineXform initialXform = NULL 
) [inherited]

Construct new warp from volume size, grid dimensions and parameters.

Definition at line 96 of file cmtkSplineWarpXform.cxx.

References cmtk::AffineXform::Clone(), and NULL.

cmtk::SplineWarpXform::SplineWarpXform (  ) [inherited]

Construct empty new warp.

This is mostly useful for the Clone() function that can subsequently copy all data structures into a newly created empty object.

Definition at line 48 of file cmtkSplineWarpXform.cxx.

cmtk::SplineWarpXform::SplineWarpXform ( const FixedVector< 3, Types::Coordinate > &  domain,
const Types::Coordinate  delta,
const AffineXform initialXform = NULL,
const bool  exactDelta = false 
) [inherited]

Construct new warp from volume size and control grid density.

Definition at line 59 of file cmtkSplineWarpXform.cxx.

DataClass cmtk::StringToDataClass ( const char *  dataClassStr )
TypedArray::SmartPtr cmtk::FilterVolume::StudholmeFilter ( const UniformVolume volume,
std::list< TypedArray::SmartPtr subjectData,
const TypedArray averageData,
const TypedArray maskData,
std::list< TypedArray::SmartPtr imgList,
const Types::DataItem  binWidth,
const Units::GaussianSigma filterWidth,
const Types::Coordinate  filterRadius 
) [static, inherited]

Apply Colin Studholme's Gaussian filter using multiple time points.

Parameters:
volumeInput 3D image.
subjectDataList of pixel arrays of the individual grey images from this subject. Each list item corresponds to one time point. Ideally, there are two items in the list, which correspond to the time points between which the Jacobian map in "volume" was computed.
averageDataPixel array of the population average grey image.
maskDataOptional binary mask data array.
imgListList of pixel arrays from matched 3D images. The consistency between these pixel arrays determines the relative weights of the otherwise Gaussian kernel. Consult Colin's NeuroImage (2003) paper for details.
binWidthBin width of the intensity histogram used to quantify the matching between all individuals.
filterWidthWidth (standard deviation of the Gaussian kernel.
filterRadiusFilter radius in multiples of the filter width. Outside the radius (Euclidean distance) the filter is truncated.
Returns:
A newly allocated TypedArray object that can be used, for example, to replace the one held by the input image. The data type of the array is identical to the input array.

Definition at line 408 of file cmtkFilterVolume.cxx.

References cmtk::AXIS_X, cmtk::AXIS_Y, cmtk::AXIS_Z, cmtk::UniformVolume::Deltas(), cmtk::TypedArray::Get(), cmtk::JointHistogram< T >::GetBin(), cmtk::TypedArray::GetDataSize(), cmtk::DataGrid::GetDims(), cmtk::JointHistogram< T >::GetMarginalX(), cmtk::DataGrid::GetOffsetFromIndex(), cmtk::TypedArray::GetRange(), cmtk::TypedArray::GetType(), cmtk::JointHistogram< T >::Increment(), cmtk::JointHistogram< T >::Reset(), cmtk::JointHistogram< T >::SetRangeX(), cmtk::JointHistogram< T >::SetRangeY(), cmtk::JointHistogram< T >::ValueToBinX(), cmtk::JointHistogram< T >::ValueToBinY(), and cmtk::Types::Range< T >::Width().

TypedArray::SmartPtr cmtk::FilterVolume::StudholmeFilter ( const UniformVolume volume,
const TypedArray subjectData,
const TypedArray averageData,
const TypedArray maskData,
std::list< TypedArray::SmartPtr imgList,
const Types::DataItem  binWidth,
const Units::GaussianSigma filterWidth,
const Types::Coordinate  filterRadius 
) [static, inherited]

Apply Colin Studholme's Gaussian filter with registration-based weights.

Parameters:
volumeInput 3D image.
subjectDataPixel array of the individual grey image from this subject.
averageDataPixel array of the population average grey image.
maskDataOptional binary mask data array.
imgListList of pixel arrays from matched 3D images. The consistency between these pixel arrays determines the relative weights of the otherwise Gaussian kernel. Consult Colin's NeuroImage (2003) paper for details.
binWidthBin width of the intensity histogram used to quantify the matching between all individuals.
filterWidthWidth (standard deviation of the Gaussian kernel.
filterRadiusFilter radius in multiples of the filter width. Outside the radius (Euclidean distance) the filter is truncated.
Returns:
A newly allocated TypedArray object that can be used, for example, to replace the one held by the input image. The data type of the array is identical to the input array.

Definition at line 264 of file cmtkFilterVolume.cxx.

References cmtk::AXIS_X, cmtk::AXIS_Y, cmtk::AXIS_Z, cmtk::UniformVolume::Deltas(), cmtk::TypedArray::Get(), cmtk::JointHistogram< T >::GetBin(), cmtk::TypedArray::GetDataSize(), cmtk::DataGrid::GetDims(), cmtk::Threads::GetNumberOfThreads(), cmtk::TypedArray::GetRange(), cmtk::TypedArray::GetType(), cmtk::JointHistogram< T >::Increment(), cmtk::JointHistogram< T >::ProjectToX(), cmtk::JointHistogram< T >::Reset(), cmtk::JointHistogram< T >::ValueToBinX(), cmtk::JointHistogram< T >::ValueToBinY(), and cmtk::Types::Range< T >::Width().

void cmtk::MathUtil::SVD ( Matrix2D< double > *  U,
size_t  m,
size_t  n,
std::vector< double > *  W,
Matrix2D< double > *  V 
) [static, inherited]

Singular Value Decomposition.

Definition at line 146 of file cmtkMathUtil_LinAlg.cxx.

void cmtk::MathUtil::SVDLinearRegression ( Matrix2D< double > *  U,
size_t  m,
size_t  n,
std::vector< double > *  W,
Matrix2D< double > *  V,
double *  b,
std::vector< double > &  lm_params 
) [static, inherited]

Linear Regression using SVD results.

TODO: move this someplace more logical than the linear-algebra module.

Definition at line 183 of file cmtkMathUtil_LinAlg.cxx.

template<class TFloat >
void cmtk::EigenSystemSymmetricMatrix3x3< TFloat >::tql2 ( TFloat  V[3][3],
TFloat  d[3],
TFloat  e[3],
const bool  sortAbsolute = true 
) [static, private, inherited]

Definition at line 206 of file cmtkEigenSystemSymmetricMatrix3x3.txx.

cmtk::TransformedVolumeAxes::TransformedVolumeAxes ( const UniformVolume volume,
const ParametricPlane mirrorPlane,
const Types::Coordinate deltas = NULL 
) [inherited]

Constructor using mirror plane.

Parameters:
volumeThe volume whose axes we are transforming.
mirrorPlaneMirror plane with respect to which the coordinates of this volume and thus all hash values are mirrored.
deltasIf this parameter is given, it is used as a pointer to a 3 element coordinate array defining the voxel size in the other volume to obtain fractional voxel indices rather than actual coordinates.

Alternatively, this parameter can also be used to provide the volume size (Volume::Size), which creates normalized coordinates (0..1) for each volume axis.

Definition at line 88 of file cmtkTransformedVolumeAxes.cxx.

References cmtk::Volume::m_Offset, and cmtk::ParametricPlane::MirrorInPlace().

cmtk::TransformedVolumeAxes::TransformedVolumeAxes ( const UniformVolume volume,
const AffineXform xform = NULL,
const Types::Coordinate deltas = NULL,
const Types::Coordinate otherOrigin = NULL 
) [inherited]

Constructor using affine transformation.

Parameters:
volumeThe volume for which we are constructing an axes hash.
xformCoordinate transformation. If this pointer is NULL, identity is assumed.
deltasIf this parameter is given, it is used as a pointer to a three-element coordinate array defining the voxel size in the other volume to obtain fractional voxel indices rather than actual coordinates.

Alternatively, this parameter can also be used to provide the volume size (Volume::Size), which creates normalized coordinates (0..1) for each volume axis.

Parameters:
otherOriginIf this parameter is given, it is used as a pointer to a three-element coordinate array defining an m_Origin vector for the transformed coordinates.
Returns:
Pointer to an array of three pointers. Each of these points to an array of Vector3D objects that contain the vector hashes for the X-, Y-, and Z-axis.

Definition at line 45 of file cmtkTransformedVolumeAxes.cxx.

References cmtk::AffineXform::ApplyInPlace(), and cmtk::Volume::m_Offset.

template<class TFloat >
void cmtk::EigenSystemSymmetricMatrix3x3< TFloat >::tred2 ( TFloat  V[3][3],
TFloat  d[3],
TFloat  e[3] 
) [static, private, inherited]

Symmetric Householder reduction to tridiagonal form.

Definition at line 66 of file cmtkEigenSystemSymmetricMatrix3x3.txx.

template<class TData , class TOutputIterator >
void cmtk::DataGrid::TrilinearInterpolation ( TOutputIterator  result,
const std::vector< TData * > &  dataPtr,
const int  x,
const int  y,
const int  z,
const Types::Coordinate  fracX,
const Types::Coordinate  fracY,
const Types::Coordinate  fracZ 
) const [inline, protected, inherited]

Utility function for trilinear interpolation from multiple primitive data arrays of identical grid structure.

This function is provided for computational efficiency when a large number of interpolations from a given data volume of known pixel type are required.

Parameters:
resultOutput iterator to store interpolated values.
dataPtrVector of data arrays to interpolate from
xGrid position x
yGrid position y
zGrid position z
fracXFractional coordinate X within pixel
fracYFractional coordinate Y within pixel
fracZFractional coordinate Z within pixel

Definition at line 142 of file cmtkDataGrid.txx.

bool cmtk::DataGrid::TrilinearInterpolation ( Types::DataItem data,
const int  x,
const int  y,
const int  z,
const Self::SpaceVectorType location,
const Types::Coordinate cellFrom,
const Types::Coordinate cellTo 
) const [protected, inherited]

Utility function for trilinear interpolation.

Parameters:
dataThis reference is set to the interpolated data value. It is valid if and only if this function returns 1.
location3D coordinate to interpolate data at.
xGrid index x.
yGrid index y.
zGrid index z.
locationLocation within grid cell.
cellFrom3D coordinate of the lower-left-front voxel of the cell enclosing the given location.
cellTo3D coordinate of the upper-right-rear voxel of the cell enclosing the given location.
Returns:
True if there is valid data for all eight voxels enclosing the given location, so that the interpolation could be completed successfully, False otherwise.

Definition at line 201 of file cmtkDataGrid.cxx.

References cmtk::TypedArray::Get().

template<class TData >
TData cmtk::DataGrid::TrilinearInterpolation ( const TData *  dataPtr,
const int  x,
const int  y,
const int  z,
const Self::SpaceVectorType gridPosition,
const Types::Coordinate cellFrom,
const Types::Coordinate cellTo 
) const [inline, protected, inherited]

Utility function for trilinear interpolation from a primitive data array.

This function is provided for computational efficiency when a large number of interpolations from a given data volume of known pixel type are required.

Parameters:
dataPtrPointer to the primitive data array.
xGrid index x.
yGrid index y.
zGrid index z.
gridPosition(x,y,z) indices of the voxel containing the given location.
cellFrom3D coordinate of the lower-left-front voxel of the cell enclosing the given location.
cellTo3D coordinate of the upper-right-rear voxel of the cell enclosing the given location.
Returns:
The interpolated data value..

Definition at line 115 of file cmtkDataGrid.txx.

double cmtk::MathUtil::TStatFromCorrelation ( const double  r,
const size_t  df 
) [static, inherited]

Compute t-statistic from coefficient of correlation.

Parameters:
rCoefficient of correlation as computed by MathUtil::Correlation function.
dfNumber of degrees of freedom

Definition at line 48 of file cmtkMathUtil_Statistics.cxx.

template<class T >
T cmtk::MathUtil::TTest ( const std::vector< T > &  valuesX,
const std::vector< T > &  valuesY,
T &  t,
T &  avgX,
T &  avgY 
) [static, inherited]

Performs two-tailed unpaired t-test on two distributions.

Two-sample t-test.

Also return average value for each distribution.

Definition at line 181 of file cmtkMathUtil_Statistics.txx.

template<class T >
T cmtk::MathUtil::TTest ( const std::vector< T > &  valuesX,
T &  t,
T &  avgX 
) [static, inherited]

Performs one-sample t-test on distribution to test for zero mean.

One-sample t-test.

Also return average value for each distribution.

Definition at line 213 of file cmtkMathUtil_Statistics.txx.

template<class T >
T cmtk::MathUtil::TTest ( const std::vector< T > &  valuesX,
const std::vector< T > &  valuesY,
T &  t 
) [static, inherited]

Performs two-tailed unpaired t-test on two distributions.

Definition at line 148 of file cmtkMathUtil_Statistics.txx.

size_t cmtk::TypeItemSize ( const ScalarDataType  dtype )

Return item size for given scalar data type.

Definition at line 81 of file cmtkTypes.cxx.

References cmtk::TYPE_BYTE, cmtk::TYPE_CHAR, cmtk::TYPE_DOUBLE, cmtk::TYPE_FLOAT, cmtk::TYPE_INT, cmtk::TYPE_SHORT, cmtk::TYPE_UINT, and cmtk::TYPE_USHORT.

Referenced by cmtk::TemplateArray< T >::ConvertSubArray().

template<class TDistanceDataType >
cmtk::UniformDistanceMap< TDistanceDataType >::UniformDistanceMap ( const UniformVolume volume,
const byte  flags = DEFAULT,
const Types::DataItem  value = 0,
const Types::DataItem  window = 0 
) [inherited]

Construct map from given volume.

Parameters:
volume3-D feature image.
flagsComputation flags.
valueFeature value
windowWindow radius around feature value.

Definition at line 51 of file cmtkUniformDistanceMap.cxx.

References cmtk::UniformVolume::m_IndexToPhysicalMatrix, cmtk::MetaInformationObject::m_MetaInformation, and cmtk::Volume::m_Offset.

double cmtk::MathUtil::UniformRandom (  ) [static, inherited]

Uniform random number generator.

Definition at line 47 of file cmtkMathUtil_Random.cxx.

Referenced by cmtk::EntropyMinimizationIntensityCorrectionFunctionalBase::SetForegroundMask().

cmtk::UniformVolumeFilter::UniformVolumeFilter ( UniformVolume::SmartPtr  volume ) [inline, explicit, inherited]

Constructor: link to UniformVolume object.

Definition at line 60 of file cmtkUniformVolumeFilter.h.

void cmtk::SplineWarpXform::UnRegisterVolume (  ) [inherited]

Unegister axes points, ie free all internal data structures.

Definition at line 464 of file cmtkSplineWarpXform.cxx.

void cmtk::WarpXform::Update ( const bool  exactDelta = false ) [virtual, inherited]

Update internal representation.

Reimplemented in cmtk::SplineWarpXform.

Definition at line 62 of file cmtkWarpXform.cxx.

void cmtk::SplineWarpXform::Update ( const bool  exactDelta = false ) [virtual, inherited]

Update internal representation.

Reimplemented from cmtk::WarpXform.

Definition at line 170 of file cmtkSplineWarpXform.cxx.

void cmtk::ParametricPlane::Update (  ) [private, inherited]
void cmtk::AffineXform::UpdateInverse (  ) const [private, inherited]
template<class T >
T cmtk::MathUtil::Variance ( const unsigned int  nValues,
const T *  values,
mean,
const bool  unbiased = false 
) [static, inherited]

Computes variance of an array of float values.

Parameters:
nValuesNumber of values in "values" array.
valuesThe array of values to compute the variance of.
meanPreviously calculated mean of the array values.
unbiasedIf this flag is set (default: unset), then the variance will be computed over nValues-1; otherwise over nValues.

Definition at line 60 of file cmtkMathUtil_Statistics.txx.

template<class T >
T cmtk::MathUtil::Variance ( const std::vector< T > &  values,
mean,
const bool  unbiased = false 
) [static, inherited]

Computes variance of a vector of float values.

Parameters:
valuesVector of values to compute variance from.
meanPreviously computed mean of vector values.
unbiasedIf this flag is set (default: unset), then the variance will be computed over nValues-1; otherwise over nValues.

Definition at line 96 of file cmtkMathUtil_Statistics.txx.

cmtk::VolumeGridToGridLookup::VolumeGridToGridLookup ( const UniformVolume fromGrid,
const UniformVolume toGrid 
) [inherited]

Constructor: takes original and new image grids.

Definition at line 45 of file cmtkVolumeGridToGridLookup.cxx.

References cmtk::UniformVolume::m_Delta, cmtk::DataGrid::m_Dims, and cmtk::Volume::Size.

template<class TDistanceDataType >
bool cmtk::UniformDistanceMap< TDistanceDataType >::VoronoiEDT ( DistanceDataType *const   lpY,
const int  nSize,
const DistanceDataType  delta,
std::vector< DistanceDataType > &  gTemp,
std::vector< DistanceDataType > &  hTemp 
) [private, inherited]

Compute 1-D Voronoi Euclidean Distance Transform.

Definition at line 341 of file cmtkUniformDistanceMap.cxx.

Referenced by cmtk::UniformDistanceMap< TDistanceDataType >::ComputeEDTThreadPhase2().

cmtk::BitVector::~BitVector (  ) [inherited]

Destructor.

Definition at line 63 of file cmtkBitVector.cxx.

References cmtk::Memory::DeleteArray().

cmtk::ControlPointList::~ControlPointList (  ) [inherited]

Destructor: Free all stored points.

Definition at line 42 of file cmtkControlPoint.cxx.

cmtk::GeneralLinearModel::~GeneralLinearModel (  ) [inherited]

Destructor.

Definition at line 164 of file cmtkGeneralLinearModel.cxx.

cmtk::Landmark::~Landmark (  ) [inherited]

Destructor.

Definition at line 53 of file cmtkLandmark.cxx.

cmtk::TransformedVolumeAxes::~TransformedVolumeAxes (  ) [inherited]

Free all storage.

Definition at line 144 of file cmtkTransformedVolumeAxes.cxx.

References cmtk::Memory::DeleteArray(), and NULL.


Variable Documentation

bool cmtk::ControlPoint::active [inherited]

Is this an active (true) or passive (false) control point?

Definition at line 55 of file cmtkControlPoint.h.

template<int DIM>
Types::DataItem cmtk::FilterMaskPixel< DIM >::Coefficient [inherited]

Filter coefficient.

Definition at line 88 of file cmtkFilterMask.h.

Constraint for subvolume handled by this thread.

Definition at line 435 of file cmtkSplineWarpXform.h.

Referenced by cmtk::SplineWarpXform::GetJacobianConstraintThread(), and cmtk::SplineWarpXform::GetJacobianFoldingConstraintThread().

const char* cmtk::DataClassString[]
Initial value:
 
{ "grey", "label", "unknown",
  NULL }

Definition at line 44 of file cmtkTypes.cxx.

const char * cmtk::DataTypeName
Initial value:
 
{ "byte (8bit unsigned)",
  "char (8bit signed)",
  "short (16bit signed)",
  "ushort (16bit unsigned)",
  "int (32bit signed)",
  "uint (32bit unsigned)",
  "float (32bit)",
  "double (64bit)"
}

Names of scalar data types.

Definition at line 48 of file cmtkTypes.cxx.

Referenced by cmtk::VolumeIO::Read().

Vector3D cmtk::ControlPoint::deformed [inherited]

Deformed control point position.

Definition at line 52 of file cmtkControlPoint.h.

std::vector<Types::Coordinate> cmtk::SplineWarpXform::dsplineX [protected, inherited]

x-axis.

Definition at line 405 of file cmtkSplineWarpXform.h.

Referenced by cmtk::SplineWarpXform::CloneVirtual().

std::vector<Types::Coordinate> cmtk::SplineWarpXform::dsplineY [protected, inherited]

y-axis.

Definition at line 407 of file cmtkSplineWarpXform.h.

Referenced by cmtk::SplineWarpXform::CloneVirtual().

std::vector<Types::Coordinate> cmtk::SplineWarpXform::dsplineZ [protected, inherited]

z-axis.

Definition at line 409 of file cmtkSplineWarpXform.h.

Referenced by cmtk::SplineWarpXform::CloneVirtual().

const FPInitializeUnion cmtk::MathUtil::FPInitializeInf [inherited]
Initial value:
 {
}

Definition at line 50 of file cmtkMathUtil_NaNInf.cxx.

const void* cmtk::MathUtil::FPInitializeInf_fP = &FPInitializeInf.f[1] [inherited]

Definition at line 61 of file cmtkMathUtil_NaNInf.cxx.

const void* cmtk::MathUtil::FPInitializeInf_P = &FPInitializeInf [inherited]

Definition at line 54 of file cmtkMathUtil_NaNInf.cxx.

const void* cmtk::MathUtil::FPInitializeNaN_fP = &FPInitializeNaN.f[1] [inherited]

Definition at line 60 of file cmtkMathUtil_NaNInf.cxx.

const void* cmtk::MathUtil::FPInitializeNaN_P = &FPInitializeNaN [inherited]

Definition at line 53 of file cmtkMathUtil_NaNInf.cxx.

int cmtk::SplineWarpXform::GridPointOffset[48] [protected, inherited]

Relative offsets of all control points in a 4 x 4 x 4 neighborhood.

Definition at line 413 of file cmtkSplineWarpXform.h.

Referenced by cmtk::SplineWarpXform::CloneVirtual().

std::vector<int> cmtk::SplineWarpXform::gX [protected, inherited]

x-axis.

Definition at line 379 of file cmtkSplineWarpXform.h.

Referenced by cmtk::SplineWarpXform::CloneVirtual().

std::vector<int> cmtk::SplineWarpXform::gY [protected, inherited]

y-axis.

Definition at line 381 of file cmtkSplineWarpXform.h.

Referenced by cmtk::SplineWarpXform::CloneVirtual().

std::vector<int> cmtk::SplineWarpXform::gZ [protected, inherited]

z-axis.

Definition at line 383 of file cmtkSplineWarpXform.h.

Referenced by cmtk::SplineWarpXform::CloneVirtual().

template<class T = Types::Coordinate>
const Matrix4x4< T > cmtk::Matrix4x4< T >::IdentityMatrix [static, inherited]

Identity transformation matrix.

Definition at line 64 of file cmtkMatrix4x4.h.

template<int DIM>
Types::Coordinate cmtk::FilterMask< DIM >::Gaussian::InvStandardDeviation [private, inherited]

Standard deviation.

Definition at line 202 of file cmtkFilterMask.h.

template<int DIM>
FixedVector<DIM,int> cmtk::FilterMaskPixel< DIM >::Location [inherited]

Relative location of this pixel.

Definition at line 82 of file cmtkFilterMask.h.

template<class TDataType >
unsigned int cmtk::Accumulators::Avg< TDataType >::m_Count [private, inherited]

Counter.

Definition at line 83 of file cmtkAccumulatorAvg.h.

DataGrid::SmartPtr cmtk::DataGridFilter::m_DataGrid [private, inherited]
DataGrid::SmartConstPtr cmtk::DataGridMorphologicalOperators::m_DataGrid [private, inherited]

The DataGrid object we're working on.

Definition at line 105 of file cmtkDataGridMorphologicalOperators.h.

Referenced by cmtk::DataGridMorphologicalOperators::GetBinaryConnectedComponents().

template<class TDataType >
TDataType cmtk::Accumulators::Max< TDataType >::m_Maximum [private, inherited]

Current maximum.

Definition at line 85 of file cmtkAccumulatorMax.h.

template<class TDataType >
TDataType cmtk::Accumulators::Avg< TDataType >::m_Sum [private, inherited]

Current sum of values.

Definition at line 80 of file cmtkAccumulatorAvg.h.

template<class TDataType >
TDataType cmtk::Accumulators::Sum< TDataType >::m_Sum [private, inherited]

Current sum.

Definition at line 79 of file cmtkAccumulatorSum.h.

UniformVolume::SmartPtr cmtk::UniformVolumeFilter::m_UniformVolume [private, inherited]

The UniformVolume object we're working on.

Definition at line 68 of file cmtkUniformVolumeFilter.h.

template<class TDataType >
bool cmtk::Accumulators::Max< TDataType >::m_Valid [private, inherited]

Flag whether there is a valid accumulated value.

Definition at line 82 of file cmtkAccumulatorMax.h.

const Types::DataItem cmtk::DataTypeTraits< unsigned short >::Max = USHRT_MAX [static, inherited]

Maximum value in this type.

Definition at line 298 of file cmtkDataTypeTraits.h.

const Types::DataItem cmtk::DataTypeTraits< byte >::Max = UCHAR_MAX [static, inherited]

Maximum value in this type.

Definition at line 160 of file cmtkDataTypeTraits.h.

const Types::DataItem cmtk::DataTypeTraits< char >::Max = SCHAR_MAX [static, inherited]

Maximum value in this type.

Definition at line 206 of file cmtkDataTypeTraits.h.

const Types::DataItem cmtk::DataTypeTraits< int >::Max = INT_MAX [static, inherited]

Maximum value in this type.

Definition at line 344 of file cmtkDataTypeTraits.h.

const Types::DataItem cmtk::DataTypeTraits< signed short >::Max = SHRT_MAX [static, inherited]

Maximum value in this type.

Definition at line 252 of file cmtkDataTypeTraits.h.

const Types::DataItem cmtk::DataTypeTraits< int >::Min = INT_MIN [static, inherited]

Minimum value in this type.

Definition at line 341 of file cmtkDataTypeTraits.h.

const Types::DataItem cmtk::DataTypeTraits< char >::Min = SCHAR_MIN [static, inherited]

Minimum value in this type.

Definition at line 203 of file cmtkDataTypeTraits.h.

const Types::DataItem cmtk::DataTypeTraits< signed short >::Min = SHRT_MIN [static, inherited]

Minimum value in this type.

Definition at line 249 of file cmtkDataTypeTraits.h.

const Types::DataItem cmtk::DataTypeTraits< byte >::Min = 0 [static, inherited]

Minimum value in this type.

Definition at line 157 of file cmtkDataTypeTraits.h.

const Types::DataItem cmtk::DataTypeTraits< unsigned short >::Min = 0 [static, inherited]

Minimum value in this type.

Definition at line 295 of file cmtkDataTypeTraits.h.

template<int DIM>
Types::Coordinate cmtk::FilterMask< DIM >::Gaussian::NormFactor [private, inherited]

Gaussian normalization factor.

Definition at line 205 of file cmtkFilterMask.h.

Total number of threads created.

Definition at line 433 of file cmtkSplineWarpXform.h.

const char *const cmtk::AnatomicalOrientationBase::ORIENTATION_STANDARD = "RAS" [static, inherited]
template<int DIM>
int cmtk::FilterMaskPixel< DIM >::PixelIndex [inherited]

Cached source index of image pixel for this element.

Definition at line 91 of file cmtkFilterMask.h.

template<int DIM>
int cmtk::FilterMaskPixel< DIM >::RelativeIndex [inherited]

Relative index of this pixel in source image from center of kernel.

Definition at line 85 of file cmtkFilterMask.h.

const char *const cmtk::AnatomicalOrientationBase::SPACE_CMTK = "RAS" [static, inherited]

Standard CMTK coordinate space (LR/PA/IS).

Definition at line 56 of file cmtkAnatomicalOrientationBase.h.

const char *const cmtk::AnatomicalOrientationBase::SPACE_ITK = "LPS" [static, inherited]
std::vector<Types::Coordinate> cmtk::SplineWarpXform::splineX [protected, inherited]

x-axis.

Definition at line 392 of file cmtkSplineWarpXform.h.

Referenced by cmtk::SplineWarpXform::CloneVirtual().

std::vector<Types::Coordinate> cmtk::SplineWarpXform::splineY [protected, inherited]

y-axis.

Definition at line 394 of file cmtkSplineWarpXform.h.

Referenced by cmtk::SplineWarpXform::CloneVirtual().

std::vector<Types::Coordinate> cmtk::SplineWarpXform::splineZ [protected, inherited]

z-axis.

Definition at line 396 of file cmtkSplineWarpXform.h.

Referenced by cmtk::SplineWarpXform::CloneVirtual().

Unique index of this thread instance among all threads.

Definition at line 431 of file cmtkSplineWarpXform.h.

const ScalarDataType cmtk::TYPE_COORDINATE = TYPE_DOUBLE

Definition at line 201 of file cmtkTypes.h.

Referenced by cmtk::ImageOperationMedialSkeleton::Apply().

const ScalarDataType cmtk::TYPE_ITEM = TYPE_DOUBLE
template<int DIM>
bool cmtk::FilterMaskPixel< DIM >::Valid [inherited]

Active flag.

This flag can be used in client code to flag pixels in the filter mask as either valid (i.e., inside domain) or invalid (outsside domain). This eliminates repeated range checking in cases where there are multiple iterations over the filter mask at one location.

Definition at line 99 of file cmtkFilterMask.h.

DataGrid::IndexType cmtk::SplineWarpXform::VolumeDims [protected, inherited]

Dimensions of the volume image linked to this transformation.

Definition at line 371 of file cmtkSplineWarpXform.h.

Referenced by cmtk::SplineWarpXform::CloneVirtual(), cmtk::SplineWarpXform::GetJacobianConstraintThread(), and cmtk::SplineWarpXform::GetJacobianFoldingConstraintThread().


Friends

friend class SplineWarpXformUniformVolume [friend, inherited]

Friend declaration.

Reimplemented from cmtk::WarpXform.

Definition at line 448 of file cmtkSplineWarpXform.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines