![]() |
Orfeo Toolbox
3.16
|
This class implements the Stochastic Expectation Maximization algorithm to perform an estimation of a mixture model. More...
#include <otbSEMClassifier.h>
Inheritance diagram for otb::SEMClassifier< TInputImage, TOutputImage >:
Collaboration diagram for otb::SEMClassifier< TInputImage, TOutputImage >:Public Member Functions | |
| virtual void | AbortGenerateDataOff () |
| virtual void | AbortGenerateDataOn () |
| int | AddComponent (int id, ComponentType *component) |
| unsigned int | AddMembershipFunction (MembershipFunctionType *function) |
| unsigned long | AddObserver (const EventObject &event, Command *) |
| unsigned long | AddObserver (const EventObject &event, Command *) const |
| virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
| virtual void | DebugOff () const |
| virtual void | DebugOn () const |
| virtual void | Delete () |
| virtual const bool & | GetAbortGenerateData () |
| ClassLabelVectorType & | GetClassLabels () |
| Command * | GetCommand (unsigned long tag) |
| int | GetCurrentIteration () |
| bool | GetDebug () const |
| DecisionRuleType * | GetDecisionRule (void) |
| ProportionVectorType * | GetInitialProportions () |
| virtual int | GetMaximumIteration () |
| const MembershipFunctionType * | GetMembershipFunction (unsigned int index) const |
| ClassLabelVectorType & | GetMembershipFunctionClassLabels () |
| MetaDataDictionary & | GetMetaDataDictionary (void) |
| const MetaDataDictionary & | GetMetaDataDictionary (void) const |
| virtual unsigned long | GetMTime () const |
| virtual const char * | GetNameOfClass () const |
| int | GetNeighborhood () |
| unsigned int | GetNumberOfClasses () |
| unsigned int | GetNumberOfMembershipFunctions () |
| OutputType * | GetOutput () |
| TOutputImage * | GetOutputImage () |
| virtual const float & | GetProgress () |
| ProportionVectorType * | GetProportions () |
| virtual int | GetReferenceCount () const |
| const TInputImage * | GetSample () const |
| SampleType * | GetSampleList () const |
| virtual TerminationCodeType | GetTerminationCode () |
| virtual double | GetTerminationThreshold () |
| bool | HasObserver (const EventObject &event) const |
| void | InvokeEvent (const EventObject &) |
| void | InvokeEvent (const EventObject &) const |
| virtual void | Modified () const |
| void | Print (std::ostream &os, Indent indent=0) const |
| virtual void | Register () const |
| void | RemoveAllObservers () |
| void | RemoveObserver (unsigned long tag) |
| virtual void | SetAbortGenerateData (bool _arg) |
| void | SetClassLabels (OutputType *labels) |
| void | SetClassLabels (TOutputImage *imgLabels) |
| void | SetDebug (bool debugFlag) const |
| void | SetDecisionRule (DecisionRuleType *ptrToDecisionRule) |
| void | SetInitialProportions (ProportionVectorType &propotion) |
| virtual void | SetMaximumIteration (int _arg) |
| void | SetMembershipFunctionClassLabels (ClassLabelVectorType &labels) |
| void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
| void | SetNeighborhood (int neighborhood) |
| virtual void | SetNumberOfClasses (unsigned int _arg) |
| void | SetNumberOfClasses (int theSize) |
| virtual void | SetProgress (float _arg) |
| virtual void | SetReferenceCount (int) |
| void | SetSample (const TInputImage *sample) |
| void | SetSample (const itk::Statistics::ListSample< TInputImage::PixelType > *sample) |
| virtual void | SetTerminationThreshold (double _arg) |
| virtual void | UnRegister () const |
| void | Update () |
| virtual void | UpdateOutputData () |
| void | UpdateProgress (float amount) |
Static Public Member Functions | |
| static void | BreakOnError () |
| static bool | GetGlobalWarningDisplay () |
| static void | GlobalWarningDisplayOff () |
| static void | GlobalWarningDisplayOn () |
| static Pointer | New () |
| static void | SetGlobalWarningDisplay (bool flag) |
Protected Types | |
| typedef int | InternalReferenceCountType |
Protected Member Functions | |
| SEMClassifier () | |
| virtual | ~SEMClassifier () |
| void | GenerateData () |
| void | GetMaximumAposterioriLabels () |
| void | InitParameters () |
| void | PerformExpectationProcess () |
| void | PerformMaximizationProcess () |
| void | PerformStochasticProcess () |
| virtual void | PrintHeader (std::ostream &os, Indent indent) const |
| bool | PrintObservers (std::ostream &os, Indent indent) const |
| void | PrintSelf (std::ostream &os, itk::Indent indent) const |
| virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
Protected Attributes | |
| InternalReferenceCountType | m_ReferenceCount |
| SimpleFastMutexLock | m_ReferenceCountLock |
Private Attributes | |
| ClassLabelVectorType | m_ClassLabels |
| int | m_ComponentDeclared |
| ComponentVectorType | m_ComponentVector |
| int | m_CurrentIteration |
| int | m_ExternalLabels |
| ProportionVectorType | m_InitialProportions |
| int | m_MaximumIteration |
| int | m_NbChange |
| int | m_NbClasses |
| int | m_NbSamples |
| int | m_Neighborhood |
| OutputType::Pointer | m_Output |
| TOutputImage::Pointer | m_OutputImage |
| ProbaByClassVectorType | m_Proba |
| ProportionVectorType | m_Proportions |
| const TInputImage * | m_Sample |
| SampleType::Pointer | m_SampleList |
| TerminationCodeType | m_TerminationCode |
| double | m_TerminationThreshold |
This class implements the Stochastic Expectation Maximization algorithm to perform an estimation of a mixture model.
The first template argument is the type of the target sample data. This estimator expects one or more model component objects of the classes derived from the ModelComponentBase. The actual component (or module) parameters are updated by each component. Users can think this class as a strategy or a integration point for the SEM procedure.
The number of classes (SetNumberOfClasses), the initial proportion (SetInitialProportions), the input sample (SetSample), the model components (AddComponent), and the maximum iteration (SetMaximumIteration) are required. The SEM procedure terminates when the current iteration reaches the maximum iteration or the model parameters converge.
The difference from ExpectationMaximizationMixtureModelEstimator is that SEMClassifier include the maximum a posteriori decition on each sample. The class is to be seen as a classification and not an estimator.
Recent API changes: N/A
Definition at line 43 of file otbSEMClassifier.h.
| typedef unsigned int otb::SEMClassifier< TInputImage, TOutputImage >::ClassLabelType |
Type of the segmentation vector
Reimplemented from itk::Statistics::SampleClassifier< itk::Statistics::ListSample< TInputImage::PixelType > >.
Definition at line 69 of file otbSEMClassifier.h.
| typedef std::vector<ClassLabelType> otb::SEMClassifier< TInputImage, TOutputImage >::ClassLabelVectorType |
Reimplemented from itk::Statistics::SampleClassifier< itk::Statistics::ListSample< TInputImage::PixelType > >.
Definition at line 70 of file otbSEMClassifier.h.
| typedef itk::Statistics::Subsample<SampleType> otb::SEMClassifier< TInputImage, TOutputImage >::ClassSampleType |
Definition at line 63 of file otbSEMClassifier.h.
| typedef ComponentType::Pointer otb::SEMClassifier< TInputImage, TOutputImage >::ComponentPointerType |
Definition at line 79 of file otbSEMClassifier.h.
| typedef otb::Statistics::ModelComponentBase<ClassSampleType> otb::SEMClassifier< TInputImage, TOutputImage >::ComponentType |
Type of the mixture model component base class. Due to the stochastic purpose, the inital list of sample (from TInputImage) is duplicated as many times as the number of classes (into SampleLists).
Definition at line 78 of file otbSEMClassifier.h.
| typedef std::vector<ComponentPointerType> otb::SEMClassifier< TInputImage, TOutputImage >::ComponentVectorType |
Type of the component pointer storage, one component per class
Definition at line 82 of file otbSEMClassifier.h.
| typedef itk::SmartPointer<const Self> otb::SEMClassifier< TInputImage, TOutputImage >::ConstPointer |
Reimplemented from itk::Statistics::SampleClassifier< itk::Statistics::ListSample< TInputImage::PixelType > >.
Definition at line 55 of file otbSEMClassifier.h.
|
inherited |
Type alias for decision rule
Definition at line 114 of file itkClassifierBase.h.
|
protectedinherited |
Define the type of the reference count according to the target. This allows the use of atomic operations
Definition at line 137 of file itkLightObject.h.
| typedef SampleType::MeasurementType otb::SEMClassifier< TInputImage, TOutputImage >::MeasurementType |
typedefs from TSample object
Reimplemented from itk::Statistics::SampleClassifier< itk::Statistics::ListSample< TInputImage::PixelType > >.
Definition at line 65 of file otbSEMClassifier.h.
| typedef SampleType::MeasurementVectorType otb::SEMClassifier< TInputImage, TOutputImage >::MeasurementVectorType |
Sets the decision rule
Reimplemented from itk::Statistics::SampleClassifier< itk::Statistics::ListSample< TInputImage::PixelType > >.
Definition at line 66 of file otbSEMClassifier.h.
|
inherited |
Definition at line 108 of file itkClassifierBase.h.
|
inherited |
typedefs from Superclass
Reimplemented from itk::ClassifierBase< itk::Statistics::ListSample< TInputImage::PixelType > >.
Definition at line 97 of file itkSampleClassifier.h.
|
inherited |
Typedefs for membership funciton
Definition at line 107 of file itkClassifierBase.h.
| typedef itk::Statistics::MembershipSample<SampleType> otb::SEMClassifier< TInputImage, TOutputImage >::OutputType |
Output type for GetClassSample method
Reimplemented from itk::Statistics::SampleClassifier< itk::Statistics::ListSample< TInputImage::PixelType > >.
Definition at line 73 of file otbSEMClassifier.h.
| typedef itk::Array<double> otb::SEMClassifier< TInputImage, TOutputImage >::ParameterType |
type of the parameters needed for the component vectors
Definition at line 85 of file otbSEMClassifier.h.
| typedef std::vector<ParameterType> otb::SEMClassifier< TInputImage, TOutputImage >::ParameterVectorType |
Type of the parameter pointer storage, one parameter set per class
Definition at line 88 of file otbSEMClassifier.h.
| typedef itk::SmartPointer<Self> otb::SEMClassifier< TInputImage, TOutputImage >::Pointer |
Reimplemented from itk::Statistics::SampleClassifier< itk::Statistics::ListSample< TInputImage::PixelType > >.
Definition at line 54 of file otbSEMClassifier.h.
| typedef std::vector<ProbaVectorType> otb::SEMClassifier< TInputImage, TOutputImage >::ProbaByClassVectorType |
Type of the probability values of each sample per class
Definition at line 95 of file otbSEMClassifier.h.
| typedef std::vector<double> otb::SEMClassifier< TInputImage, TOutputImage >::ProbaVectorType |
Definition at line 92 of file otbSEMClassifier.h.
| typedef std::vector<double> otb::SEMClassifier< TInputImage, TOutputImage >::ProportionVectorType |
Type of the vector of the probability values for each sample
Definition at line 91 of file otbSEMClassifier.h.
| typedef itk::Statistics::ListSample<typename TInputImage::PixelType> otb::SEMClassifier< TInputImage, TOutputImage >::SampleType |
TSample template argument related typedefs
Definition at line 59 of file otbSEMClassifier.h.
| typedef SEMClassifier otb::SEMClassifier< TInputImage, TOutputImage >::Self |
Standard class typedef
Reimplemented from itk::Statistics::SampleClassifier< itk::Statistics::ListSample< TInputImage::PixelType > >.
Definition at line 49 of file otbSEMClassifier.h.
| typedef itk::Statistics::SampleClassifier< typename itk::Statistics::ListSample<typename TInputImage::PixelType> > otb::SEMClassifier< TInputImage, TOutputImage >::Superclass |
Reimplemented from itk::Statistics::SampleClassifier< itk::Statistics::ListSample< TInputImage::PixelType > >.
Definition at line 53 of file otbSEMClassifier.h.
| enum otb::SEMClassifier::TerminationCodeType |
Termination status after running optimization
Definition at line 146 of file otbSEMClassifier.h.
|
protected |
Definition at line 23 of file otbSEMClassifier.txx.
|
inlineprotectedvirtual |
Definition at line 165 of file otbSEMClassifier.h.
|
virtualinherited |
|
virtualinherited |
Turn on and off the AbortGenerateData flag.
| int otb::SEMClassifier< TInputImage, TOutputImage >::AddComponent | ( | int | id, |
| ComponentType * | component | ||
| ) |
Adds a new component (or class). Has to be called after SetNumberOfClasses
Definition at line 280 of file otbSEMClassifier.txx.
|
inherited |
Stores a membership function of a class in its internal vector
|
inherited |
Allow people to add/remove/invoke observers (callbacks) to any ITK object. This is an implementation of the subject/observer design pattern. An observer is added by specifying an event to respond to and an itk::Command to execute. It returns an unsigned long tag which can be used later to remove the event or retrieve the command. The memory for the Command becomes the responsibility of this object, so don't pass the same instance of a command to two different objects
Definition at line 389 of file itkObject.cxx.
References itk::SubjectImplementation::AddObserver().
Referenced by otb::StreamingImageVirtualWriter< TInputImage >::GenerateData(), itk::ProgressAccumulator::RegisterInternalFilter(), otb::ImageFileWriter< TInputImage >::Update(), and otb::WriterWatcherBase::WriterWatcherBase().
|
inherited |
Definition at line 401 of file itkObject.cxx.
References itk::SubjectImplementation::AddObserver().
|
staticinherited |
This method is called when itkExceptionMacro executes. It allows the debugger to break on error.
Definition at line 149 of file itkLightObject.cxx.
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Statistics::SampleClassifier< itk::Statistics::ListSample< TInputImage::PixelType > >.
|
virtualinherited |
Turn debugging output off.
Definition at line 253 of file itkObject.cxx.
|
virtualinherited |
Turn debugging output on.
Definition at line 242 of file itkObject.cxx.
|
virtualinherited |
Delete an itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C delete method will not work with reference counting.
Delete a itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C++ delete method will not work with reference counting.
Definition at line 88 of file itkLightObject.cxx.
|
protectedvirtualinherited |
Starts the classification process
Implements itk::ClassifierBase< itk::Statistics::ListSample< TInputImage::PixelType > >.
|
virtualinherited |
Get the AbortGenerateData flag for the process object. Process objects may handle premature termination of execution in different ways.
| SEMClassifier< TInputImage, TOutputImage >::ClassLabelVectorType & otb::SEMClassifier< TInputImage, TOutputImage >::GetClassLabels | ( | ) |
Definition at line 206 of file otbSEMClassifier.txx.
|
inherited |
Get the command associated with the given tag. NOTE: This returns a pointer to a Command, but it is safe to asign this to a Command::Pointer. Since Command inherits from LightObject, at this point in the code, only a pointer or a reference to the Command can be used.
Definition at line 414 of file itkObject.cxx.
References itk::Object::GetCommand(), and NULL.
Referenced by itk::Object::GetCommand().
| int otb::SEMClassifier< TInputImage, TOutputImage >::GetCurrentIteration | ( | ) |
Gets the current iteration.
Definition at line 272 of file otbSEMClassifier.txx.
|
inherited |
Get the value of the debug flag.
Definition at line 264 of file itkObject.cxx.
Referenced by otb::ogr::ImageReference< double >::GetDebug().
|
inlineinherited |
Gets the pointer to the decision rule being used.
Definition at line 125 of file itkClassifierBase.h.
|
staticinherited |
Get the value of the global debug output control flag.
Definition at line 381 of file itkObject.cxx.
| SEMClassifier< TInputImage, TOutputImage >::ProportionVectorType * otb::SEMClassifier< TInputImage, TOutputImage >::GetInitialProportions | ( | ) |
Definition at line 85 of file otbSEMClassifier.txx.
|
protected |
Make Decision through a Maximum a posteriori
Definition at line 589 of file otbSEMClassifier.txx.
References itk::Statistics::ListSample< TMeasurementVector >::ConstIterator::GetInstanceIdentifier(), itk::ImageRegionConstIterator< TImage >::GoToBegin(), and itk::ImageRegionConstIterator< TImage >::GoToEnd().
|
virtual |
|
inlineinherited |
Gets the MembershipFunction that are plugged in by the AddMembershipFunction method. The index is assigned according to the order each membership function has been added using the AddMemberShipFunction method
Definition at line 134 of file itkClassifierBase.h.
|
inlineinherited |
Gets the user given class labels
Definition at line 115 of file itkSampleClassifier.h.
|
inherited |
Reimplemented in otb::ImageMetadataInterfaceBase.
Definition at line 532 of file itkObject.cxx.
References NULL.
Referenced by otb::RenderingImageFilter< TInputImage, TOutputImage >::BeforeThreadedGenerateData(), itk::Brains2MaskImageIO::CanReadFile(), otb::DataNode< TPrecision, VDimension, TValuePrecision >::CopyFieldList(), otb::VectorImage< TPixel, VImageDimension >::CopyInformation(), otb::Image< TPixel, VImageDimension >::CopyInformation(), itk::GDCMImageIO::GetBodyPart(), itk::GDCMImageIO::GetInstitution(), itk::GDCMImageIO::GetManufacturer(), itk::GDCMImageIO::GetModality(), itk::GDCMImageIO::GetModel(), itk::GDCMImageIO::GetNumberOfSeriesInStudy(), itk::GDCMImageIO::GetNumberOfStudyRelatedSeries(), itk::GDCMImageIO::GetPatientAge(), itk::GDCMImageIO::GetPatientDOB(), itk::GDCMImageIO::GetPatientID(), itk::GDCMImageIO::GetPatientName(), itk::GDCMImageIO::GetPatientSex(), itk::GDCMImageIO::GetScanOptions(), itk::GDCMImageIO::GetStudyDate(), itk::GDCMImageIO::GetStudyDescription(), itk::GDCMImageIO::GetStudyID(), itk::GDCMImageIO::GetValueFromTag(), otb::GDALImageIO::InternalReadImageInformation(), itk::GDCMImageIO::InternalReadImageInformation(), otb::GDALImageIO::InternalWriteImageInformation(), otb::RAMDrivenAdaptativeStreamingManager< TImage >::PrepareStreaming(), itk::DICOMImageIO2::Read(), itk::DICOMImageIO2::ReadImageInformation(), itk::NrrdImageIO::ReadImageInformation(), otb::JPEG2000ImageIO::ReadImageInformation(), itk::MetaImageIO::ReadImageInformation(), itk::VoxBoCUBImageIO::ReadImageInformation(), itk::MRCImageIO::ReadImageInformation(), itk::IPLCommonImageIO::ReadImageInformation(), itk::PhilipsRECImageIO::ReadImageInformation(), itk::AnalyzeImageIO::ReadImageInformation(), itk::Bruker2DSEQImageIO::ReadImageInformation(), otb::ImageMetadataInterfaceBase::SetImage(), itk::NiftiImageIO::SetImageIOMetadataFromNIfTI(), otb::VectorDataToLabelImageFilter< TVectorData, TOutputImage >::SetOutputParametersFromImage(), itk::NrrdImageIO::Write(), itk::GDCMImageIO::Write(), and itk::PolygonGroupSpatialObjectXMLFileWriter::WriteFile().
|
inherited |
Reimplemented in otb::ImageMetadataInterfaceBase.
Definition at line 543 of file itkObject.cxx.
References NULL.
|
virtualinherited |
Return this objects modified time.
Return the modification for this object.
Reimplemented in itk::ImageAdaptor< TImage, TAccessor >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, otb::Accessor::VectorImageToASPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ShiftScalePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::SpatialObject< TDimension >, itk::SpatialObject< 3 >, itk::SpatialObject< ::itk::GetMeshDimension< TMesh >::PointDimension >, itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >, itk::ImageRegistrationMethod< TFixedImage, TMovingImage >, itk::VectorResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >, itk::TransformToDeformationFieldSource< TOutputImage, TTransformPrecisionType >, itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >, itk::PointSetToImageRegistrationMethod< TFixedPointSet, TMovingImage >, itk::BoundingBox< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >, itk::PointSetToPointSetRegistrationMethod< TFixedPointSet, TMovingPointSet >, itk::DeformationFieldSource< TOutputImage >, itk::ImageSpatialObject< TDimension, TPixelType >, itk::ImageSpatialObject< TDimension, unsigned char >, itk::MeshSpatialObject< TMesh >, and itk::SceneSpatialObject< TSpaceDimension >.
Definition at line 286 of file itkObject.cxx.
Referenced by itk::DeformationFieldSource< TOutputImage >::GetMTime(), itk::BoundingBox< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::GetMTime(), itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::GetMTime(), itk::TransformToDeformationFieldSource< TOutputImage, TTransformPrecisionType >::GetMTime(), itk::VectorResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >::GetMTime(), itk::SpatialObject< TDimension >::GetMTime(), itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >::GetMTime(), itk::SpatialObject< ::itk::GetMeshDimension< TMesh >::PointDimension >::GetObjectMTime(), otb::Function::NoStretchRenderingFunction< TPixel, TRGBPixel, TPixelRepresentationFunction, TTransferFunction >::Initialize(), otb::Function::StandardRenderingFunction< TPixel, TRGBPixel, TPixelRepresentationFunction, TTransferFunction >::Initialize(), itk::VTKImageExportBase::PipelineModifiedCallback(), and itk::ProcessObject::UpdateOutputInformation().
|
virtual |
Standard macros
Reimplemented from itk::Statistics::SampleClassifier< itk::Statistics::ListSample< TInputImage::PixelType > >.
| int otb::SEMClassifier< TInputImage, TOutputImage >::GetNeighborhood | ( | ) |
Definition at line 68 of file otbSEMClassifier.txx.
|
virtual |
Gets the number of classes.
Reimplemented from itk::ClassifierBase< itk::Statistics::ListSample< TInputImage::PixelType > >.
Definition at line 291 of file otbSEMClassifier.txx.
|
inlineinherited |
Gets the number of membership functions
Definition at line 140 of file itkClassifierBase.h.
| SEMClassifier< TInputImage, TOutputImage >::OutputType * otb::SEMClassifier< TInputImage, TOutputImage >::GetOutput | ( | void | ) |
Returns the classification result
Reimplemented from itk::Statistics::SampleClassifier< itk::Statistics::ListSample< TInputImage::PixelType > >.
Definition at line 322 of file otbSEMClassifier.txx.
| TOutputImage * otb::SEMClassifier< TInputImage, TOutputImage >::GetOutputImage | ( | void | ) |
Definition at line 314 of file otbSEMClassifier.txx.
|
virtualinherited |
Get the execution progress of a process object. The progress is a floating number between (0,1), 0 meaning no progress; 1 meaning the filter has completed execution.
| SEMClassifier< TInputImage, TOutputImage >::ProportionVectorType * otb::SEMClassifier< TInputImage, TOutputImage >::GetProportions | ( | ) |
Gets the result proportion values
Definition at line 214 of file otbSEMClassifier.txx.
|
inlinevirtualinherited |
Gets the reference count on this object.
Definition at line 105 of file itkLightObject.h.
| const TInputImage * otb::SEMClassifier< TInputImage, TOutputImage >::GetSample | ( | ) | const |
Returns the target data
Reimplemented from itk::Statistics::SampleClassifier< itk::Statistics::ListSample< TInputImage::PixelType > >.
Definition at line 256 of file otbSEMClassifier.txx.
| SEMClassifier< TInputImage, TOutputImage >::SampleType * otb::SEMClassifier< TInputImage, TOutputImage >::GetSampleList | ( | ) | const |
Definition at line 264 of file otbSEMClassifier.txx.
|
virtual |
Gets the termination status
|
virtual |
|
inlinestaticinherited |
Definition at line 100 of file itkObject.h.
References itk::Object::SetGlobalWarningDisplay().
Referenced by itk::OutputWindow::DisplayText(), itk::Win32OutputWindow::PromptText(), and itk::Win32OutputWindow::WndProc().
|
inlinestaticinherited |
Definition at line 98 of file itkObject.h.
References itk::Object::SetGlobalWarningDisplay().
|
inherited |
Return true if an observer is registered for this event.
Definition at line 467 of file itkObject.cxx.
|
protected |
Initialize the first segmentation, either randomly or by using a ClassLabelVectorType given in SetClassLabels.
Definition at line 330 of file otbSEMClassifier.txx.
References otbMsgDebugMacro, and otbMsgDevMacro.
|
inherited |
Call Execute on all the Commands observing this event id.
Definition at line 446 of file itkObject.cxx.
Referenced by otb::Wrapper::Application::AddProcess(), itk::ParallelSparseFieldLevelSetImageFilter< TInputImage, TOutputImage >::IterateThreaderCallback(), and itk::VTKImageExportBase::UpdateDataCallback().
|
inherited |
Call Execute on all the Commands observing this event id. The actions triggered by this call doesn't modify this object.
Definition at line 457 of file itkObject.cxx.
|
virtualinherited |
Update the modification time for this object. Many filters rely on the modification time to determine if they need to recompute their data.
Make sure this object's modified time is greater than all others.
Reimplemented in otb::SVMModel< TValue, TLabel >, otb::SurfaceAdjacencyEffect6SCorrectionSchemeFilter< TInputImage, TOutputImage >, itk::ImageAdaptor< TImage, TAccessor >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, otb::Accessor::VectorImageToASPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ShiftScalePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, otb::GenericRSTransform< TScalarType, NInputDimensions, NOutputDimensions >, otb::MeanShiftImageFilter< TInputImage, TOutputImage, TLabeledOutput, TBufferConverter >, otb::MeanShiftImageFilter< TInputImage, TOutputImage, TLabeledOutput, MeanShift::VectorBufferConverter >, otb::GCPsToRPCSensorModelImageFilter< TImage >, otb::Polygon< TValue >, otb::ImageRegionAdaptativeSplitter< VImageDimension >, otb::GenericInterpolateImageFunction< TInputImage, TFunction, TBoundaryCondition, TCoordRep >, itk::GrayscaleDilateImageFilter< TInputImage, TOutputImage, TKernel >, otb::PolyLineParametricPathWithValue< TValue, VDimension >, itk::GrayscaleErodeImageFilter< TInputImage, TOutputImage, TKernel >, otb::PolyLineParametricPathWithValue< TValue, 2 >, itk::MorphologicalGradientImageFilter< TInputImage, TOutputImage, TKernel >, otb::PhysicalToRPCSensorModelImageFilter< TImage >, itk::GrayscaleMorphologicalClosingImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleMorphologicalOpeningImageFilter< TInputImage, TOutputImage, TKernel >, itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >, itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, RankImageFilter< TInputImage, TInputImage, FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension > > >, itk::NormalizeImageFilter< TInputImage, TOutputImage >, and otb::StatisticsXMLFileReader< TMeasurementVector >.
Definition at line 297 of file itkObject.cxx.
Referenced by otb::Wrapper::InputImageListParameter::AddFromFileName(), otb::Wrapper::InputVectorDataListParameter::AddFromFileName(), otb::Wrapper::InputImageListParameter::AddImage(), otb::Wrapper::InputImageListParameter::AddNullElement(), otb::Wrapper::InputVectorDataListParameter::AddNullElement(), otb::Wrapper::StringListParameter::AddNullElement(), otb::VectorDataModel::AddPointToGeometry(), otb::Wrapper::InputVectorDataListParameter::AddVectorData(), otb::Wrapper::InputImageListParameter::ClearValue(), otb::Wrapper::InputVectorDataListParameter::ClearValue(), otb::VectorDataModel::DeleteGeometry(), otb::VectorDataModel::EndGeometry(), otb::Wrapper::InputImageListParameter::Erase(), otb::Wrapper::InputVectorDataListParameter::Erase(), itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::InsertNarrowBandNode(), otb::ImageWidget< TInputImage >::LinearInterpolationOff(), otb::ImageWidget< TInputImage >::LinearInterpolationOn(), itk::MatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::MatrixOffsetTransformBase(), otb::ogr::ImageReference< double >::Modified(), otb::Function::StandardRenderingFunction< TPixel, TRGBPixel, TPixelRepresentationFunction, TTransferFunction >::SetAutoMinMax(), otb::BlendingImageFilter< TInputImage1, TInputImage2, TOutputImage >::SetBlendingFunction(), otb::ImageLayerGenerator< TImageLayer >::SetBlendingFunction(), otb::TileMapImageIO::SetCacheDirectory(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetCenter(), otb::Function::StandardRenderingFunction< TPixel, TRGBPixel, TPixelRepresentationFunction, TTransferFunction >::SetChannelList(), itk::LBFGSBOptimizer::SetCostFunction(), itk::MINC2ImageIO::SetDimensionName(), itk::ImageIOBase::SetDimensions(), itk::ImageIOBase::SetDirection(), otb::Wrapper::InputImageListParameter::SetImageList(), itk::GDCMSeriesFileNames::SetInputDirectory(), otb::HistogramStatisticsFunction< TInputHistogram, TOutput >::SetInputHistogram(), otb::ImageToGenericRSOutputParameters< TImage >::SetInputKeywordList(), otb::Wrapper::InputVectorDataListParameter::SetListFromFileName(), otb::Wrapper::InputImageListParameter::SetListFromFileName(), otb::Function::RenderingFunction< TPixel, TRGBPixel >::SetListSample(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetMatrix(), itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBand(), itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBandInnerRadius(), itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBandTotalRadius(), otb::Wrapper::InputImageListParameter::SetNthFileName(), otb::Wrapper::InputVectorDataListParameter::SetNthFileName(), itk::ImageIOBase::SetNumberOfDimensions(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetOffset(), itk::ImageIOBase::SetOrigin(), otb::ImageToGenericRSOutputParameters< TImage >::SetOutputProjectionRef(), otb::MapProjectionAdapter::SetParameter(), otb::Function::GaussianRenderingFunction< TPixel, TRGBPixel, TPixelRepresentationFunction, TTransferFunction >::SetParameters(), otb::Function::StandardRenderingFunction< TPixel, TRGBPixel, TPixelRepresentationFunction, TTransferFunction >::SetParameters(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetRealThresholds(), otb::ImageLayerGenerator< TImageLayer >::SetRenderingFunction(), otb::RenderingImageFilter< TInputImage, TOutputImage >::SetRenderingFunction(), itk::ImageIOBase::SetSpacing(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetThresholds(), itk::Statistics::GoodnessOfFitFunctionBase< TInputHistogram >::SetTotalObservedScale(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetTranslation(), otb::Wrapper::OutputFilenameParameter::SetValue(), otb::Wrapper::InputFilenameParameter::SetValue(), otb::Wrapper::ListViewParameter::SetValue(), otb::Wrapper::ChoiceParameter::SetValue(), otb::Wrapper::InputVectorDataListParameter::SetVectorDataList(), and otb::MapProjectionAdapter::SetWkt().
|
static |
Method for creation through the object factory.
Reimplemented from itk::Statistics::SampleClassifier< itk::Statistics::ListSample< TInputImage::PixelType > >.
|
protected |
Estimation part of the SEM
Definition at line 463 of file otbSEMClassifier.txx.
|
protected |
Maximization part of the SEM. This method should be upgraded this a contextual point of view... It required to a Neighborhood knowledge into the TSample type...
Definition at line 517 of file otbSEMClassifier.txx.
References itk::Statistics::ListSample< TMeasurementVector >::ConstIterator::GetInstanceIdentifier(), and itk::Statistics::ListSample< TMeasurementVector >::ConstIterator::GetMeasurementVector().
|
protected |
Stochastic part of the SEM
Definition at line 419 of file otbSEMClassifier.txx.
References otbMsgDebugMacro.
|
inherited |
Cause the object to print itself out.
Avoid DLL boundary problems. This function will be common to all itk objects. It just calls the header/self/trailer virtual print methods, which can be overriden by subclasses (any itk object).
Definition at line 135 of file itkLightObject.cxx.
References itk::Indent::GetNextIndent().
Referenced by itk::operator<<().
|
protectedvirtualinherited |
Define a default print header for all objects.
Definition at line 320 of file itkLightObject.cxx.
|
protectedinherited |
Definition at line 478 of file itkObject.cxx.
|
protectedvirtual |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Chaining method to print an object's instance variables, as well as its superclasses.
Reimplemented from itk::Statistics::SampleClassifier< itk::Statistics::ListSample< TInputImage::PixelType > >.
Definition at line 44 of file otbSEMClassifier.txx.
|
protectedvirtualinherited |
Define a default print trailer for all objects.
Definition at line 331 of file itkLightObject.cxx.
|
virtualinherited |
Increase the reference count (mark as used by another object).
Reimplemented from itk::LightObject.
Definition at line 309 of file itkObject.cxx.
Referenced by itk::ObjectFactoryBase::RegisterFactory().
|
inherited |
Remove all observers .
Definition at line 435 of file itkObject.cxx.
|
inherited |
Remove the observer with this tag value.
Definition at line 425 of file itkObject.cxx.
Referenced by otb::StreamingImageVirtualWriter< TInputImage >::GenerateData(), and otb::ImageFileWriter< TInputImage >::Update().
|
virtualinherited |
Set the AbortGenerateData flag for the process object. Process objects may handle premature termination of execution in different ways.
| void otb::SEMClassifier< TInputImage, TOutputImage >::SetClassLabels | ( | OutputType * | labels | ) |
Set/Gets the initial segmentation. the size of the vector should be the same as the number of samples (length of MeasurementVector)
Definition at line 93 of file otbSEMClassifier.txx.
References itk::Statistics::MembershipSample< TSample >::Begin(), itk::Statistics::MembershipSample< TSample >::End(), itk::Statistics::MembershipSample< TSample >::ConstIterator::GetClassLabel(), NULL, otbMsgDebugMacro, and itk::Statistics::MembershipSample< TSample >::Size().
| void otb::SEMClassifier< TInputImage, TOutputImage >::SetClassLabels | ( | TOutputImage * | imgLabels | ) |
Definition at line 142 of file otbSEMClassifier.txx.
References itk::ImageRegionConstIterator< TImage >::GoToBegin(), itk::ImageRegionConstIterator< TImage >::GoToEnd(), NULL, and otbMsgDebugMacro.
|
inherited |
Set the value of the debug flag. A non-zero value turns debugging on.
Definition at line 275 of file itkObject.cxx.
|
inlineinherited |
Sets the pointer to the decision rule. Stores the decision rule that makes the real decision using informations from MembershipFunctions and other prior knowledge
Definition at line 119 of file itkClassifierBase.h.
|
staticinherited |
This is a global flag that controls whether any debug, warning or error messages are displayed.
Set the value of the global debug output control flag.
Definition at line 370 of file itkObject.cxx.
Referenced by itk::Object::GlobalWarningDisplayOff(), and itk::Object::GlobalWarningDisplayOn().
| void otb::SEMClassifier< TInputImage, TOutputImage >::SetInitialProportions | ( | ProportionVectorType & | propotion | ) |
Set/Gets the initial proportion values. The size of proportion vector should be same as the number of component (or classes). Choose between SetInitialProportions, SetClassLabels or SetNumberOfComponents
Definition at line 76 of file otbSEMClassifier.txx.
|
virtual |
Set/Gets the maximum number of iterations. When the optimization process reaches the maximum number of interations, even if the class parameters aren't converged, the optimization process stops.
|
inherited |
Sets the user given class labels for membership functions. If users do not provide class labels for membership functions by calling this function, then the index of the membership function vector for a membership function will be used as class label of measurement vectors belong to the membership function
|
inherited |
Reimplemented in otb::ImageMetadataInterfaceBase.
Definition at line 554 of file itkObject.cxx.
References NULL.
Referenced by otb::VectorImage< TPixel, VImageDimension >::CopyInformation(), and otb::Image< TPixel, VImageDimension >::CopyInformation().
| void otb::SEMClassifier< TInputImage, TOutputImage >::SetNeighborhood | ( | int | neighborhood | ) |
Set/Gets the neighborhood to take into consideration in the contextual decision rule. Should be odd (def. 3).
Definition at line 59 of file otbSEMClassifier.txx.
|
virtualinherited |
Sets the number of classes.
| void otb::SEMClassifier< TInputImage, TOutputImage >::SetNumberOfClasses | ( | int | theSize | ) |
Sets/Gets the total number of classes currently plugged in.
Definition at line 299 of file otbSEMClassifier.txx.
References otbMsgDebugMacro.
|
virtualinherited |
Set the execution progress of a process object. The progress is a floating number between (0,1), 0 meaning no progress; 1 meaning the filter has completed execution.
|
virtualinherited |
Sets the reference count (use with care)
If there is a delete method, invoke it.
Reimplemented from itk::LightObject.
Definition at line 347 of file itkObject.cxx.
| void otb::SEMClassifier< TInputImage, TOutputImage >::SetSample | ( | const TInputImage * | sample | ) |
Sets the target data that will be classified by this
Definition at line 222 of file otbSEMClassifier.txx.
References itk::ImageRegionConstIterator< TImage >::GoToBegin(), and itk::ImageRegionConstIterator< TImage >::GoToEnd().
|
inherited |
Sets the target data that will be classified by this
|
virtual |
Set/Get the termination threshold (ratio of the number of sample that change affected class during interation over the total number of samples (def is 1E-5)
|
virtualinherited |
Decrease the reference count (release by another object).
If there is a delete method, invoke it.
Reimplemented from itk::LightObject.
Definition at line 324 of file itkObject.cxx.
Referenced by itk::Object::New(), and itk::ObjectFactoryBase::UnRegisterFactory().
| void otb::SEMClassifier< TInputImage, TOutputImage >::Update | ( | void | ) |
Runs the optimization process.
Reimplemented from itk::ClassifierBase< itk::Statistics::ListSample< TInputImage::PixelType > >.
Definition at line 638 of file otbSEMClassifier.txx.
|
virtualinherited |
Actually generate new output.
GenerateData this object - we have not aborted yet, and our progress before we start to execute is 0.0.
If we ended due to aborting, push the progress up to 1.0 (since it probably didn't end there)
Definition at line 77 of file itkLightProcessObject.cxx.
|
inherited |
Update the progress of the process object. If a ProgressMethod exists, executes it. Then set the Progress ivar to amount. The parameter amount should range between (0,1).
Definition at line 51 of file itkLightProcessObject.cxx.
|
private |
User given class labels for membership functions
Reimplemented from itk::Statistics::SampleClassifier< itk::Statistics::ListSample< TInputImage::PixelType > >.
Definition at line 200 of file otbSEMClassifier.h.
|
private |
Definition at line 203 of file otbSEMClassifier.h.
|
private |
Definition at line 196 of file otbSEMClassifier.h.
|
private |
Definition at line 190 of file otbSEMClassifier.h.
|
private |
Definition at line 202 of file otbSEMClassifier.h.
|
private |
Definition at line 197 of file otbSEMClassifier.h.
|
private |
Definition at line 189 of file otbSEMClassifier.h.
|
private |
Definition at line 191 of file otbSEMClassifier.h.
|
private |
Definition at line 188 of file otbSEMClassifier.h.
|
private |
Definition at line 185 of file otbSEMClassifier.h.
|
private |
Definition at line 193 of file otbSEMClassifier.h.
|
private |
Output pointer (MembershipSample)
Reimplemented from itk::Statistics::SampleClassifier< itk::Statistics::ListSample< TInputImage::PixelType > >.
Definition at line 206 of file otbSEMClassifier.h.
|
private |
Definition at line 205 of file otbSEMClassifier.h.
|
private |
Definition at line 199 of file otbSEMClassifier.h.
|
private |
Definition at line 198 of file otbSEMClassifier.h.
|
mutableprotectedinherited |
Number of uses of this object by other objects.
Definition at line 141 of file itkLightObject.h.
|
mutableprotectedinherited |
Mutex lock to protect modification to the reference count
Definition at line 144 of file itkLightObject.h.
|
private |
Target data sample pointer
Reimplemented from itk::Statistics::SampleClassifier< itk::Statistics::ListSample< TInputImage::PixelType > >.
Definition at line 184 of file otbSEMClassifier.h.
|
private |
Definition at line 186 of file otbSEMClassifier.h.
|
private |
Definition at line 195 of file otbSEMClassifier.h.
|
private |
Definition at line 192 of file otbSEMClassifier.h.