template<typename TInputImage, typename TFeatureImage, typename TSharedData = ConstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, ScalarChanAndVeseLevelSetFunctionData< TInputImage, TFeatureImage > >>
class itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >
LevelSet function that computes a speed image based on regional integrals of probabilities.
This class implements a level set function that computes the speed image by integrating values on the image domain.
- Author
- Mosaliganti K., Smith B., Gelas A., Gouaillard A., Megason S.
Based on the papers:
"An active contour model without edges"
T. Chan and L. Vese.
In Scale-Space Theories in Computer Vision, pages 141-151, 1999.
"Segmenting and Tracking Fluorescent Cells in Dynamic 3-D
Microscopy With Coupled Active Surfaces"
Dufour, Shinin, Tajbakhsh, Guillen-Aghion, Olivo-Marin
In IEEE Transactions on Image Processing, vol. 14, No 9, Sep. 2005
This code was taken from the Insight Journal paper:
"Cell Tracking using Coupled Active Surfaces for Nuclei and Membranes"
http://www.insight-journal.org/browse/publication/642
https://hdl.handle.net/10380/3055
That is based on the papers:
"Level Set Segmentation: Active Contours without edge"
http://www.insight-journal.org/browse/publication/322
https://hdl.handle.net/1926/1532
and
"Level set segmentation using coupled active surfaces"
http://www.insight-journal.org/browse/publication/323
https://hdl.handle.net/1926/1533
- Wiki Examples:
-
Definition at line 78 of file itkScalarChanAndVeseLevelSetFunction.h.
|
| using | ConstFeatureIteratorType = typename Superclass::ConstFeatureIteratorType |
| |
| using | ConstImageIteratorType = typename Superclass::ConstImageIteratorType |
| |
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | FeatureImageConstPointer = typename FeatureImageType::ConstPointer |
| |
| using | FeatureImageIteratorType = typename Superclass::FeatureImageIteratorType |
| |
| using | FeatureImageType = TFeatureImage |
| |
| using | FeatureIndexType = typename Superclass::FeatureIndexType |
| |
| using | FeatureOffsetType = typename Superclass::FeatureOffsetType |
| |
| using | FeaturePixelType = typename Superclass::FeaturePixelType |
| |
| using | FloatOffsetType = typename Superclass::FloatOffsetType |
| |
| using | GlobalDataStruct = typename Superclass::GlobalDataStruct |
| |
| using | ImageIteratorType = typename Superclass::ImageIteratorType |
| |
| using | InputImageConstPointer = typename Superclass::InputImageConstPointer |
| |
| using | InputImagePointer = typename Superclass::InputImagePointer |
| |
| using | InputImageType = TInputImage |
| |
| using | InputIndexType = typename Superclass::InputIndexType |
| |
| using | InputIndexValueType = typename Superclass::InputIndexValueType |
| |
| using | InputPixelType = typename Superclass::InputPixelType |
| |
| using | InputPointType = typename Superclass::InputPointType |
| |
| using | InputRegionType = typename Superclass::InputRegionType |
| |
| using | InputSizeType = typename Superclass::InputSizeType |
| |
| using | InputSizeValueType = typename Superclass::InputSizeValueType |
| |
| using | ListImageType = typename Superclass::ListImageType |
| |
| using | ListPixelConstIterator = typename Superclass::ListPixelConstIterator |
| |
| using | ListPixelIterator = typename Superclass::ListPixelIterator |
| |
| using | ListPixelType = typename Superclass::ListPixelType |
| |
| using | NeighborhoodType = typename Superclass::NeighborhoodType |
| |
| using | PixelType = typename Superclass::PixelType |
| |
| using | Pointer = SmartPointer< Self > |
| |
| using | RadiusType = typename Superclass::RadiusType |
| |
| using | ScalarValueType = typename Superclass::ScalarValueType |
| |
| using | Self = ScalarChanAndVeseLevelSetFunction |
| |
| using | SharedDataPointer = typename Superclass::SharedDataPointer |
| |
| using | SharedDataType = typename Superclass::SharedDataType |
| |
| using | Superclass = ScalarRegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData > |
| |
| using | TimeStepType = typename Superclass::TimeStepType |
| |
| using | VectorType = typename Superclass::VectorType |
| |
| using | ConstFeatureIteratorType = ImageRegionConstIterator< FeatureImageType > |
| |
| using | ConstImageIteratorType = ImageRegionConstIteratorWithIndex< InputImageType > |
| |
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | FeatureImageConstPointer = typename FeatureImageType::ConstPointer |
| |
| using | FeatureImageIteratorType = ImageRegionIteratorWithIndex< FeatureImageType > |
| |
| using | FeatureImageType = typename Superclass::FeatureImageType |
| |
| using | FeatureIndexType = typename Superclass::FeatureIndexType |
| |
| using | FeatureOffsetType = typename Superclass::FeatureOffsetType |
| |
| using | FeaturePixelType = typename Superclass::FeaturePixelType |
| |
| using | FloatOffsetType = typename Superclass::FloatOffsetType |
| |
| using | GlobalDataStruct = typename Superclass::GlobalDataStruct |
| |
| using | ImageIteratorType = ImageRegionIteratorWithIndex< InputImageType > |
| |
| using | InputImageConstPointer = typename Superclass::InputImageConstPointer |
| |
| using | InputImagePointer = typename Superclass::InputImagePointer |
| |
| using | InputImageType = typename Superclass::InputImageType |
| |
| using | InputIndexType = typename Superclass::InputIndexType |
| |
| using | InputIndexValueType = typename Superclass::InputIndexValueType |
| |
| using | InputPixelType = typename Superclass::InputPixelType |
| |
| using | InputPointType = typename Superclass::InputPointType |
| |
| using | InputRegionType = typename Superclass::InputRegionType |
| |
| using | InputSizeType = typename Superclass::InputSizeType |
| |
| using | InputSizeValueType = typename Superclass::InputSizeValueType |
| |
| using | ListImageType = Image< ListPixelType, Self::ImageDimension > |
| |
| using | ListPixelConstIterator = typename ListPixelType::const_iterator |
| |
| using | ListPixelIterator = typename ListPixelType::iterator |
| |
| using | ListPixelType = std::list< unsigned int > |
| |
| using | NeighborhoodType = typename Superclass::NeighborhoodType |
| |
| using | PixelType = typename Superclass::PixelType |
| |
| using | Pointer = SmartPointer< Self > |
| |
| using | RadiusType = typename Superclass::RadiusType |
| |
| using | ScalarValueType = typename Superclass::ScalarValueType |
| |
| using | Self = ScalarRegionBasedLevelSetFunction |
| |
| using | SharedDataPointer = typename Superclass::SharedDataPointer |
| |
| using | SharedDataType = typename Superclass::SharedDataType |
| |
| using | Superclass = RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData > |
| |
| using | TimeStepType = typename Superclass::TimeStepType |
| |
| using | VectorType = typename Superclass::VectorType |
| |
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | FeatureImageConstPointer = typename FeatureImageType::ConstPointer |
| |
| using | FeatureImageType = TFeatureImage |
| |
| using | FeatureIndexType = typename FeatureImageType::IndexType |
| |
| using | FeatureOffsetType = typename FeatureImageType::OffsetType |
| |
| using | FeaturePixelType = typename FeatureImageType::PixelType |
| |
| using | FeatureSpacingType = typename FeatureImageType::SpacingType |
| |
| using | FloatOffsetType = typename Superclass::FloatOffsetType |
| |
| using | HeavisideFunctionConstPointer = typename HeavisideFunctionType::ConstPointer |
| |
| using | HeavisideFunctionType = HeavisideStepFunctionBase< InputPixelType, InputPixelType > |
| |
| using | ImageType = typename Superclass::ImageType |
| |
| using | InputImageConstPointer = typename InputImageType::ConstPointer |
| |
| using | InputImagePointer = typename InputImageType::Pointer |
| |
| using | InputImageType = TInputImage |
| |
| using | InputIndexType = typename InputImageType::IndexType |
| |
| using | InputIndexValueType = typename InputImageType::IndexValueType |
| |
| using | InputPixelType = typename InputImageType::PixelType |
| |
| using | InputPointType = typename InputImageType::PointType |
| |
| using | InputRegionType = typename InputImageType::RegionType |
| |
| using | InputSizeType = typename InputImageType::SizeType |
| |
| using | InputSizeValueType = typename InputImageType::SizeValueType |
| |
| using | NeighborhoodScalesType = typename Superclass::NeighborhoodScalesType |
| |
| using | NeighborhoodType = typename Superclass::NeighborhoodType |
| |
| using | PixelType = typename Superclass::PixelType |
| |
| using | Pointer = SmartPointer< Self > |
| |
| using | RadiusType = typename Superclass::RadiusType |
| |
| using | ScalarValueType = PixelType |
| |
| using | Self = RegionBasedLevelSetFunction |
| |
| using | SharedDataPointer = typename SharedDataType::Pointer |
| |
| using | SharedDataType = TSharedData |
| |
| using | Superclass = FiniteDifferenceFunction< TInputImage > |
| |
| using | TimeStepType = double |
| |
| using | VectorType = FixedArray< ScalarValueType, Self::ImageDimension > |
| |
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | DefaultBoundaryConditionType = ZeroFluxNeumannBoundaryCondition< ImageType > |
| |
| using | FloatOffsetType = Vector< float, Self::ImageDimension > |
| |
| using | ImageType = TInputImage |
| |
| using | NeighborhoodScalesType = Vector< PixelRealType, Self::ImageDimension > |
| |
| using | NeighborhoodType = ConstNeighborhoodIterator< TInputImage, DefaultBoundaryConditionType > |
| |
| using | PixelRealType = double |
| |
| using | PixelType = typename ImageType::PixelType |
| |
| using | Pointer = SmartPointer< Self > |
| |
| using | RadiusType = typename ConstNeighborhoodIterator< TInputImage >::RadiusType |
| |
| using | Self = FiniteDifferenceFunction |
| |
| using | Superclass = LightObject |
| |
| using | TimeStepType = double |
| |
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | Pointer = SmartPointer< Self > |
| |
| using | Self = LightObject |
| |
|
| virtual ::itk::LightObject::Pointer | CreateAnother () const |
| |
| virtual const char * | GetNameOfClass () const |
| |
| void | UpdatePixel (const unsigned int &idx, NeighborhoodIterator< TInputImage > &iterator, InputPixelType &newValue, bool &status) |
| |
| virtual VectorType | AdvectionField (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const |
| |
| virtual void | CalculateAdvectionImage () |
| |
| virtual ScalarValueType | ComputeCurvature (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *gd) |
| |
| TimeStepType | ComputeGlobalTimeStep (void *GlobalData) const override |
| |
| PixelType | ComputeUpdate (const NeighborhoodType &neighborhood, void *globalData, const FloatOffsetType &=FloatOffsetType(0.0)) override |
| |
| virtual ScalarValueType | CurvatureSpeed (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const |
| |
| ScalarValueType | GetAdvectionWeight () const |
| |
| virtual const FeatureImageType * | GetFeatureImage () const |
| |
| void * | GetGlobalDataPointer () const override |
| |
| virtual void | Initialize (const RadiusType &r) |
| |
| virtual ScalarValueType | LaplacianSmoothingSpeed (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const |
| |
| void | ReleaseGlobalDataPointer (void *GlobalData) const override |
| |
| void | SetAdvectionWeight (const ScalarValueType &iA) |
| |
| void | SetDomainFunction (const HeavisideFunctionType *f) |
| |
| virtual void | SetFeatureImage (const FeatureImageType *f) |
| |
| void | SetFunctionId (const unsigned int &iFid) |
| |
| void | SetInitialImage (InputImageType *f) |
| |
| void | SetSharedData (SharedDataPointer sharedDataIn) |
| |
| void | UpdateSharedData (bool forceUpdate) |
| |
| void | SetAreaWeight (const ScalarValueType &nu) |
| |
| ScalarValueType | GetAreaWeight () const |
| |
| void | SetLambda1 (const ScalarValueType &lambda1) |
| |
| ScalarValueType | GetLambda1 () const |
| |
| void | SetLambda2 (const ScalarValueType &lambda2) |
| |
| ScalarValueType | GetLambda2 () const |
| |
| void | SetOverlapPenaltyWeight (const ScalarValueType &gamma) |
| |
| ScalarValueType | GetOverlapPenaltyWeight () const |
| |
| virtual void | SetCurvatureWeight (const ScalarValueType c) |
| |
| ScalarValueType | GetCurvatureWeight () const |
| |
| void | SetReinitializationSmoothingWeight (const ScalarValueType c) |
| |
| ScalarValueType | GetReinitializationSmoothingWeight () const |
| |
| void | SetVolumeMatchingWeight (const ScalarValueType &tau) |
| |
| ScalarValueType | GetVolumeMatchingWeight () const |
| |
| void | SetVolume (const ScalarValueType &volume) |
| |
| ScalarValueType | GetVolume () const |
| |
| const NeighborhoodScalesType | ComputeNeighborhoodScales () const |
| |
| const RadiusType & | GetRadius () const |
| |
| void | GetScaleCoefficients (PixelRealType vals[ImageDimension]) const |
| |
| virtual void | InitializeIteration () |
| |
| void | SetRadius (const RadiusType &r) |
| |
| void | SetScaleCoefficients (PixelRealType vals[ImageDimension]) |
| |
| virtual void | Delete () |
| |
| virtual int | GetReferenceCount () const |
| |
| | itkCloneMacro (Self) |
| |
| void | Print (std::ostream &os, Indent indent=0) const |
| |
| virtual void | Register () const |
| |
| virtual void | SetReferenceCount (int) |
| |
| virtual void | UnRegister () const noexcept |
| |
|
| ScalarValueType | ComputeExternalTerm (const FeaturePixelType &iValue, const FeatureIndexType &iIdx) override |
| |
| ScalarValueType | ComputeInternalTerm (const FeaturePixelType &iValue, const FeatureIndexType &iIdx) override |
| |
| void | ComputeParameters () override |
| |
| | ScalarChanAndVeseLevelSetFunction () |
| |
| void | UpdateSharedDataInsideParameters (const unsigned int &iId, const FeaturePixelType &iVal, const ScalarValueType &iChange) override |
| |
| void | UpdateSharedDataOutsideParameters (const unsigned int &iId, const FeaturePixelType &iVal, const ScalarValueType &iChange) override |
| |
| void | UpdateSharedDataParameters () override |
| |
| | ~ScalarChanAndVeseLevelSetFunction () override |
| |
| ScalarValueType | ComputeOverlapParameters (const FeatureIndexType &featIndex, ScalarValueType &product) override |
| |
| | ScalarRegionBasedLevelSetFunction () |
| |
| | ~ScalarRegionBasedLevelSetFunction () override |
| |
| virtual ScalarValueType | ComputeExternalTerm (const FeaturePixelType &iValue, const FeatureIndexType &iIdx)=0 |
| |
| ScalarValueType | ComputeGlobalTerm (const ScalarValueType &imagePixel, const InputIndexType &inputIndex) |
| |
| void | ComputeHessian (const NeighborhoodType &it, GlobalDataStruct *globalData) |
| |
| void | ComputeHImage () |
| |
| virtual ScalarValueType | ComputeInternalTerm (const FeaturePixelType &iValue, const FeatureIndexType &iIdx)=0 |
| |
| ScalarValueType | ComputeLaplacian (GlobalDataStruct *gd) |
| |
| virtual ScalarValueType | ComputeOverlapParameters (const FeatureIndexType &featIndex, ScalarValueType &pr)=0 |
| |
| ScalarValueType | ComputeVolumeRegularizationTerm () |
| |
| | RegionBasedLevelSetFunction () |
| |
| | ~RegionBasedLevelSetFunction () override |
| |
| | FiniteDifferenceFunction () |
| |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| |
| | ~FiniteDifferenceFunction () override=default |
| |
| virtual LightObject::Pointer | InternalClone () const |
| |
| | LightObject () |
| |
| virtual void | PrintHeader (std::ostream &os, Indent indent) const |
| |
| virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
| |
| virtual | ~LightObject () |
| |