NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType > Class Template Reference

Class to segment the breast mask from MRI for modelling purposes. More...

Inheritance diagram for itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType >:
Inheritance graph
[legend]
Collaboration diagram for itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType >:
Collaboration graph
[legend]

Public Types

typedef
BreastMaskSegmForBreastDensity 
Self
 
typedef
BreastMaskSegmentationFromMRI
< ImageDimension,
InputPixelType
Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef
Superclass::InternalImageType 
InternalImageType
 
typedef Superclass::AxialImageType AxialImageType
 
typedef Superclass::PointSetType PointSetType
 
typedef
Superclass::PointDataIterator 
PointDataIterator
 
typedef Superclass::RealType RealType
 
typedef Superclass::IteratorType IteratorType
 
typedef Superclass::VectorType VectorType
 
typedef
Superclass::LineIteratorType 
LineIteratorType
 
typedef
Superclass::SliceIteratorType 
SliceIteratorType
 
typedef
Superclass::ConnectedSurfaceVoxelFilterType 
ConnectedSurfaceVoxelFilterType
 
typedef
Superclass::ThresholdingFilterType 
ThresholdingFilterType
 
- Public Types inherited from itk::BreastMaskSegmentationFromMRI< ImageDimension, InputPixelType >
enum  enumBreastSideType { BOTH_BREASTS, LEFT_BREAST, RIGHT_BREAST }
 Breast side. More...
 
typedef
BreastMaskSegmentationFromMRI 
Self
 
typedef Object Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef float RealType
 
typedef itk::Image
< InputPixelType,
ImageDimension > 
InternalImageType
 
typedef itk::Image< RealType,
SliceDimension > 
AxialImageType
 
typedef itk::Vector< RealType,
DataDimension > 
VectorType
 
typedef itk::Image< VectorType,
ParametricDimension > 
VectorImageType
 
typedef itk::PointSet
< VectorType,
ParametricDimension > 
PointSetType
 
typedef
PointSetType::PointsContainer 
PointsContainer
 
typedef PointsContainer::Iterator PointsIterator
 
typedef
PointSetType::PointDataContainer 
PointDataContainer
 
typedef
PointDataContainer::Iterator 
PointDataIterator
 
typedef
itk::ImageRegionIterator
< InternalImageType
IteratorType
 
typedef
itk::ImageRegionIteratorWithIndex
< InternalImageType
IteratorWithIndexType
 
typedef
itk::ImageSliceIteratorWithIndex
< InternalImageType
SliceIteratorType
 
typedef
itk::ImageLinearIteratorWithIndex
< InternalImageType
LineIteratorType
 
typedef itk::ImageDuplicator
< InternalImageType
DuplicatorType
 
typedef itk::Image
< InputPixelType,
SliceDimension > 
InputSliceType
 
typedef
itk::BasicImageFeaturesImageFilter
< InputSliceType,
InputSliceType
BasicImageFeaturesFilterType
 
typedef
itk::SliceBySliceImageFilter
< InternalImageType,
InternalImageType
SliceBySliceImageFilterType
 
typedef
itk::RegionGrowSurfacePoints
< InternalImageType,
InternalImageType
ConnectedSurfaceVoxelFilterType
 
typedef
itk::CurvatureAnisotropicDiffusionImageFilter
< InternalImageType,
InternalImageType
SmoothingFilterType
 
typedef
itk::GradientMagnitudeRecursiveGaussianImageFilter
< InternalImageType,
InternalImageType
GradientFilterType
 
typedef
itk::SigmoidImageFilter
< InternalImageType,
InternalImageType
SigmoidFilterType
 
typedef
itk::FastMarchingImageFilter
< InternalImageType,
InternalImageType
FastMarchingFilterType
 
typedef
itk::BinaryThresholdImageFilter
< InternalImageType,
InternalImageType
ThresholdingFilterType
 
typedef
itk::LewisGriffinRecursiveGaussianImageFilter
< InternalImageType,
InternalImageType
DerivativeFilterType
 
typedef
DerivativeFilterType::Pointer 
DerivativeFilterPointer
 
typedef
itk::MaximumImageFilter
< InternalImageType,
InternalImageType
MaxImageFilterType
 
typedef
itk::ConnectedThresholdImageFilter
< InternalImageType,
InternalImageType
ConnectedFilterType
 

Public Member Functions

virtual const char * GetClassName () const
 
virtual void Execute (void)
 Execute the segmentation. More...
 
- Public Member Functions inherited from itk::BreastMaskSegmentationFromMRI< ImageDimension, InputPixelType >
 itkStaticConstMacro (SliceDimension, unsigned int, 2)
 
 itkStaticConstMacro (ParametricDimension, unsigned int, 2)
 
 itkStaticConstMacro (DataDimension, unsigned int, 1)
 
void SetVerbose (bool flag)
 
void SetSmooth (bool flag)
 
void SetLeftBreast (bool flag)
 
void SetRightBreast (bool flag)
 
void SetExtInitialPect (bool flag)
 
void SetRegionGrowX (int coord)
 
void SetRegionGrowY (int coord)
 
void SetRegionGrowZ (int coord)
 
void SetBackgroundThreshold (float threshold)
 
void SetFinalSegmThreshold (float threshold)
 
void SetSigmaInMM (float sigma)
 
void SetMarchingK1 (float k1)
 
void SetMarchingK2 (float k2)
 
void SetMarchingTime (float t)
 
void SetCoilCropDistance (float cropDist)
 
void SetCropDistancePosteriorToMidSternum (float fDistIn)
 
void SetOutputBIFS (std::string fn)
 
void SetSigmaBIF (float sig)
 
void SetOutputSmoothedStructural (std::string fn)
 
void SetOutputSmoothedFatSat (std::string fn)
 
void SetOutputClosedStructural (std::string fn)
 
void SetOutputHistogram (std::string fn)
 
void SetOutputFit (std::string fn)
 
void SetOutputCDF (std::string fn)
 
void SetOutputImageMax (std::string fn)
 
void SetOutputImageMaxClosed (std::string fn)
 
void SetOutputBackground (std::string fn)
 
void SetOutputChestPoints (std::string fn)
 
void SetPectoralControlPointSpacing (float d)
 
void SetOutputPectoralMask (std::string fn)
 
void SetOutputPecSurfaceMask (std::string fn)
 
void SetOutputGradientMagImage (std::string fn)
 
void SetOutputSpeedImage (std::string fn)
 
void SetOutputFastMarchingImage (std::string fn)
 
void SetOutputPectoralSurf (std::string fn)
 
void SetExcludeAxilla (bool flag)
 
void SetCropFit (bool flag)
 
void SetOutputBreastFittedSurfMask (std::string fn)
 
void SetOutputVTKSurface (std::string fn)
 
void SetOutputSkinElevationMap (std::string fn)
 
void SetOutputSkinSurfaceNoBreasts (std::string fn)
 
void SetStructuralImage (typename InternalImageType::Pointer image)
 
void SetFatSatImage (typename InternalImageType::Pointer image)
 
void SetBIFImage (typename InternalImageType::Pointer image)
 
InternalImageType::IndexType GetLeftNippleIndex (void)
 
InternalImageType::IndexType GetRightNippleIndex (void)
 
InternalImageType::IndexType GetMidSternumIndex (void)
 
InternalImageType::Pointer GetSegmentedImage (void)
 
void WriteSegmentationToAFile (std::string fileOutput)
 Write the segmented image to a file. More...
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 BreastMaskSegmForBreastDensity ()
 Constructor. More...
 
 ~BreastMaskSegmForBreastDensity ()
 Destructor. More...
 
void MaskThePectoralMuscleAndLateralChestSkinSurface (bool flgIncludeChestSkinSurface, RealType rYHeightOffset, typename PointSetType::Pointer &pecPointSet, unsigned long &iPointPec)
 Mask the pectoral muscle using a B-Spline surface. More...
 
- Protected Member Functions inherited from itk::BreastMaskSegmentationFromMRI< ImageDimension, InputPixelType >
 BreastMaskSegmentationFromMRI ()
 Constructor. More...
 
virtual ~BreastMaskSegmentationFromMRI ()
 Destructor. More...
 
virtual void Initialise (void)
 Initialise the segmentor. More...
 
virtual void CreateBIFs (void)
 Create the BIF Image. More...
 
void SmoothTheInputImages (void)
 Smooth the structural and FatSat images. More...
 
InternalImageType::Pointer ScanLineMaxima (typename InternalImageType::Pointer image, typename InternalImageType::RegionType region, unsigned int direction, bool flgForward)
 Scan an image in a particular direction and replace voxels with scanned maximum intensity. More...
 
InternalImageType::Pointer GreyScaleCloseImage (typename InternalImageType::Pointer image, typename InternalImageType::RegionType region, unsigned int direction, const std::string label)
 Scan an image in a particular direction and replace voxels with closed intensities. More...
 
InternalImageType::Pointer GreyScaleCloseImage (typename InternalImageType::Pointer image, typename InternalImageType::RegionType region, const char *strSide)
 Scan an image in all directions and replace voxels with closed intensities. More...
 
void GreyScaleClosing (void)
 Scan rows and columns in the image to fill in the center of the breast. More...
 
void CalculateTheMaximumImage (void)
 Calculate the maximum image. More...
 
void EnsureMaxImageHasOnlyPositiveIntensities (void)
 Ensure the maximum image contains only positive intensities. More...
 
void SmoothMaxImageToIncreaseSeparationOfTheBackground (void)
 Smooth the image to increase separation of the background. More...
 
void SegmentForegroundFromBackground (void)
 Segment the backgound using itkForegroundFromBackgroundImageThresholdCalculator. More...
 
void SegmentBackground (void)
 Segment the backgound using the maximum image histogram. More...
 
void ComputeElevationOfAnteriorSurface (bool flgCoilCrop=false)
 Compute a 2D map of the height of the patient's anterior skin surface. More...
 
InternalImageType::IndexType FindSurfacePoint (typename InternalImageType::IndexType idxNipple, float deltaXinMM, float deltaZinMM)
 Find a point in the surface offset from the nipple. More...
 
void FindBreastLandmarks (void)
 Find the nipple and mid-sternum landmarks. More...
 
PointSetType::Pointer SegmentThePectoralMuscle (RealType rYHeightOffset, unsigned long &iPointPec, bool flgIncludeNippleSeeds=false)
 Segment the Pectoral Muscle. More...
 
void CropTheMaskAccordingToEstimateOfCoilExtentInCoronalPlane (void)
 Discard anything not within the skin elevation mask. More...
 
void MaskWithBSplineBreastSurface (RealType rYHeightOffset)
 Discard anything not within a B-Spline fitted to the breast skin surface. More...
 
void MaskBreastWithSphere (void)
 Mask with a sphere centered on each breast. More...
 
void SmoothMask (void)
 Smooth the mask and threshold to round corners etc. More...
 
void ExtractLargestObject (enumBreastSideType breastSide)
 Extract the largest object. More...
 
double DistanceBetweenVoxels (typename InternalImageType::IndexType p, typename InternalImageType::IndexType q)
 
std::string ModifySuffix (std::string filename, std::string strInsertBeforeSuffix)
 
std::string GetBreastSide (std::string &fileOutput, enumBreastSideType breastSide)
 
InternalImageType::Pointer GetBreastSide (typename InternalImageType::Pointer inImage, enumBreastSideType breastSide)
 
bool WriteImageToFile (std::string &fileOutput, const char *description, typename InternalImageType::Pointer image, enumBreastSideType breastSide)
 
bool WriteImageToFile (std::string &fileOutput, const char *description, typename InternalImageType::Pointer image, bool flgLeft=false, bool flgRight=false)
 
bool WriteBinaryImageToUCharFile (std::string &fileOutput, const char *description, typename InternalImageType::Pointer image, enumBreastSideType breastSide)
 
bool WriteBinaryImageToUCharFile (std::string &fileOutput, const char *description, typename InternalImageType::Pointer image, bool flgLeft, bool flgRight)
 
bool WriteBinaryImageToUCharFileOrVTKSurfaceFile (std::string &fileOutput, const char *description, typename InternalImageType::Pointer image, bool flgLeft, bool flgRight)
 Based on the file extension it will be decided wheter a vtk surface is written or an image is saved. More...
 
void WriteHistogramToFile (std::string fileOutput, vnl_vector< double > &xHistIntensity, vnl_vector< double > &yHistFrequency, unsigned int nBins)
 
void polyDataInfo (vtkPolyData *polyData)
 
void WriteImageToVTKSurfaceFile (typename InternalImageType::Pointer image, std::string &fileOutput, enumBreastSideType breastSide, bool flgVerbose, float finalSegmThreshold)
 
InternalImageType::Pointer MaskImageFromBSplineFittedSurface (const typename PointSetType::Pointer &pointSet, const typename InternalImageType::RegionType &region, const typename InternalImageType::PointType &origin, const typename InternalImageType::SpacingType &spacing, const typename InternalImageType::DirectionType &direction, const RealType rYHeightOffset, const int splineOrder, const RealType controlPointSpacingInMM, const int numOfLevels, bool correctSurfaceOffest)
 

Additional Inherited Members

- Protected Attributes inherited from itk::BreastMaskSegmentationFromMRI< ImageDimension, InputPixelType >
bool flgVerbose
 
bool flgXML
 
bool flgSmooth
 
bool flgLeft
 
bool flgRight
 
bool flgExtInitialPect
 
bool flgRegGrowXcoord
 
bool flgRegGrowYcoord
 
bool flgRegGrowZcoord
 
bool flgCropWithFittedSurface
 
bool flgExcludeAxilla
 
unsigned int i
 
int regGrowXcoord
 
int regGrowYcoord
 
int regGrowZcoord
 
float maxIntensity
 
float minIntensity
 
float bgndThresholdProb
 
float finalSegmThreshold
 
float sigmaInMM
 
float fMarchingK1
 
float fMarchingK2
 
float fMarchingTime
 
float sigmaBIF
 
float coilCropDistance
 
float cropDistPosteriorToMidSternum
 
float pecControlPointSpacing
 
std::string fileOutputBIFs
 
std::string fileOutputSmoothedStructural
 
std::string fileOutputSmoothedFatSat
 
std::string fileOutputClosedStructural
 
std::string fileOutputCombinedHistogram
 
std::string fileOutputRayleigh
 
std::string fileOutputFreqLessBgndCDF
 
std::string fileOutputMaxImage
 
std::string fileOutputMaxClosedImage
 
std::string fileOutputBackground
 
std::string fileOutputPectoralSurfaceMask
 
std::string fileOutputChestPoints
 
std::string fileOutputPectoral
 
std::string fileOutputGradientMagImage
 
std::string fileOutputSpeedImage
 
std::string fileOutputFastMarchingImage
 
std::string fileOutputPectoralSurfaceVoxels
 
std::string fileOutputFittedBreastMask
 
std::string fileOutputVTKSurface
 
std::string fileOutputSkinElevationMap
 
std::string fileOutputSkinSurfaceNoBreasts
 
InternalImageType::Pointer imStructural
 
InternalImageType::Pointer imFatSat
 
InternalImageType::Pointer imBIFs
 
InternalImageType::Pointer imSpeedFuncInputImage
 
InternalImageType::Pointer imMaximum
 
InternalImageType::Pointer imMaxClosed
 
InternalImageType::Pointer imPectoralVoxels
 
InternalImageType::Pointer imPectoralSurfaceVoxels
 
InternalImageType::Pointer imChestSurfaceVoxels
 
InternalImageType::Pointer imSegmented
 
InternalImageType::Pointer imTmp
 
AxialImageType::Pointer imSkinElevationMap
 
InternalImageType::RegionType m_LeftLateralRegion
 The left side of the image. More...
 
InternalImageType::RegionType m_RightLateralRegion
 
InternalImageType::IndexType idxMidSternum
 Breast Landmarks. More...
 
InternalImageType::IndexType idxNippleRight
 
InternalImageType::IndexType idxNippleLeft
 
InternalImageType::IndexType idxLeftBreastMidPoint
 Landmarks used by the segmentation. More...
 
InternalImageType::IndexType idxRightBreastMidPoint
 
InternalImageType::IndexType idxLeftPosterior
 
InternalImageType::IndexType idxRightPosterior
 
InternalImageType::IndexType idxAreolarRight [4]
 
InternalImageType::IndexType idxAreolarLeft [4]
 

Detailed Description

template<const unsigned int ImageDimension = 3, class InputPixelType = float>
class itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType >

Class to segment the breast mask from MRI for modelling purposes.

Member Typedef Documentation

template<const unsigned int ImageDimension = 3, class InputPixelType = float>
typedef Superclass::AxialImageType itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType >::AxialImageType
template<const unsigned int ImageDimension = 3, class InputPixelType = float>
typedef Superclass::ConnectedSurfaceVoxelFilterType itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType >::ConnectedSurfaceVoxelFilterType
template<const unsigned int ImageDimension = 3, class InputPixelType = float>
typedef SmartPointer<const Self> itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType >::ConstPointer
template<const unsigned int ImageDimension = 3, class InputPixelType = float>
typedef Superclass::InternalImageType itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType >::InternalImageType
template<const unsigned int ImageDimension = 3, class InputPixelType = float>
typedef Superclass::IteratorType itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType >::IteratorType
template<const unsigned int ImageDimension = 3, class InputPixelType = float>
typedef Superclass::LineIteratorType itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType >::LineIteratorType
template<const unsigned int ImageDimension = 3, class InputPixelType = float>
typedef Superclass::PointDataIterator itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType >::PointDataIterator
template<const unsigned int ImageDimension = 3, class InputPixelType = float>
typedef SmartPointer<Self> itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType >::Pointer
template<const unsigned int ImageDimension = 3, class InputPixelType = float>
typedef Superclass::PointSetType itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType >::PointSetType
template<const unsigned int ImageDimension = 3, class InputPixelType = float>
typedef Superclass::RealType itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType >::RealType
template<const unsigned int ImageDimension = 3, class InputPixelType = float>
typedef BreastMaskSegmForBreastDensity itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType >::Self
template<const unsigned int ImageDimension = 3, class InputPixelType = float>
typedef Superclass::SliceIteratorType itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType >::SliceIteratorType
template<const unsigned int ImageDimension = 3, class InputPixelType = float>
typedef BreastMaskSegmentationFromMRI< ImageDimension, InputPixelType > itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType >::Superclass
template<const unsigned int ImageDimension = 3, class InputPixelType = float>
typedef Superclass::ThresholdingFilterType itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType >::ThresholdingFilterType
template<const unsigned int ImageDimension = 3, class InputPixelType = float>
typedef Superclass::VectorType itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType >::VectorType

Constructor & Destructor Documentation

template<const unsigned int ImageDimension = 3, class InputPixelType = float>
itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType >::BreastMaskSegmForBreastDensity ( )
protected

Constructor.

template<const unsigned int ImageDimension = 3, class InputPixelType = float>
itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType >::~BreastMaskSegmForBreastDensity ( )
protected

Destructor.

Member Function Documentation

template<const unsigned int ImageDimension = 3, class InputPixelType = float>
virtual void itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType >::Execute ( void  )
virtual
template<const unsigned int ImageDimension = 3, class InputPixelType = float>
virtual const char* itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType >::GetClassName ( ) const
virtual
template<const unsigned int ImageDimension = 3, class InputPixelType = float>
void itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType >::MaskThePectoralMuscleAndLateralChestSkinSurface ( bool  flgIncludeChestSkinSurface,
RealType  rYHeightOffset,
typename PointSetType::Pointer &  pecPointSet,
unsigned long &  iPointPec 
)
protected

Mask the pectoral muscle using a B-Spline surface.

template<const unsigned int ImageDimension = 3, class InputPixelType = float>
static Pointer itk::BreastMaskSegmForBreastDensity< ImageDimension, InputPixelType >::New ( )
static

The documentation for this class was generated from the following file: