#include <itkImageRegionSplitter.h>


Public Types | |
| typedef ImageRegionSplitter | Self |
| typedef Object | Superclass |
| typedef SmartPointer< Self > | Pointer |
| typedef SmartPointer< const Self > | ConstPointer |
| typedef Index< VImageDimension > | IndexType |
| typedef IndexType::IndexValueType | IndexValueType |
| typedef Size< VImageDimension > | SizeType |
| typedef SizeType::SizeValueType | SizeValueType |
| typedef ImageRegion < VImageDimension > | RegionType |
Public Member Functions | |
| virtual const char * | GetNameOfClass () const |
| virtual unsigned int | GetNumberOfSplits (const RegionType ®ion, unsigned int requestedNumber) |
| virtual RegionType | GetSplit (unsigned int i, unsigned int numberOfPieces, const RegionType ®ion) |
| virtual LightObject::Pointer | CreateAnother () const |
| virtual void | DebugOn () const |
| virtual void | DebugOff () const |
| bool | GetDebug () const |
| void | SetDebug (bool debugFlag) const |
| virtual unsigned long | GetMTime () const |
| virtual void | Modified () const |
| virtual void | Register () const |
| virtual void | UnRegister () const |
| virtual void | SetReferenceCount (int) |
| unsigned long | AddObserver (const EventObject &event, Command *) |
| unsigned long | AddObserver (const EventObject &event, Command *) const |
| Command * | GetCommand (unsigned long tag) |
| void | InvokeEvent (const EventObject &) |
| void | InvokeEvent (const EventObject &) const |
| void | RemoveObserver (unsigned long tag) |
| void | RemoveAllObservers () |
| bool | HasObserver (const EventObject &event) const |
| MetaDataDictionary & | GetMetaDataDictionary (void) |
| const MetaDataDictionary & | GetMetaDataDictionary (void) const |
| void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
| virtual void | Delete () |
| void | Print (std::ostream &os, Indent indent=0) const |
| virtual int | GetReferenceCount () const |
Static Public Member Functions | |
| static Pointer | New () |
| static unsigned int | GetImageDimension () |
| static void | SetGlobalWarningDisplay (bool flag) |
| static bool | GetGlobalWarningDisplay () |
| static void | GlobalWarningDisplayOn () |
| static void | GlobalWarningDisplayOff () |
| static void | BreakOnError () |
Static Public Attributes | |
| static const unsigned int | ImageDimension = VImageDimension |
Protected Types | |
| typedef int | InternalReferenceCountType |
Protected Member Functions | |
| void | PrintSelf (std::ostream &os, Indent indent) const |
| bool | PrintObservers (std::ostream &os, Indent indent) const |
| virtual void | PrintHeader (std::ostream &os, Indent indent) const |
| virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
Protected Attributes | |
| InternalReferenceCountType | m_ReferenceCount |
| SimpleFastMutexLock | m_ReferenceCountLock |
Private Member Functions | |
| ImageRegionSplitter (const ImageRegionSplitter &) | |
| void | operator= (const ImageRegionSplitter &) |
ImageRegionSplitter divides an ImageRegion into smaller regions. ImageRegionSplitter is used by the StreamingImageFilter to divide a requested output region into a series of smaller requests of the pipeline. This object has two basic methods: GetNumberOfSplits() and GetSplit().
GetNumberOfSplits() is used to determine how may subregions a given region can be divided. You call GetNumberOfSplits with an argument that is the number of subregions you want. If the image region can support that number of subregions, that number is returned. Otherwise, the maximum number of splits less then or equal to the argumen be returned. For example, if a region splitter class only divides a region into horizontal slabs, then the maximum number of splits will be the number of rows in the region.
GetSplit() returns the ith of N subregions (as an ImageRegion object).
This ImageRegionSplitter class divides a region along the outermost dimension. If the outermost dimension has size 1 (i.e. a volume with a single slice), the ImageRegionSplitter will divide the region along the next outermost dimension. If that dimension has size 1, the process continues with the next outermost dimension.
Other ImageRegionSplitter subclasses could divide an image into more uniform shaped regions instead of slabs.
Definition at line 66 of file itkImageRegionSplitter.h.
| typedef ImageRegionSplitter itk::ImageRegionSplitter< VImageDimension >::Self |
Standard class typedefs.
Reimplemented from itk::Object.
Reimplemented in otb::ImageRegionNonUniformMultidimensionalSplitter< VImageDimension >, otb::ImageRegionTileMapSplitter< VImageDimension >, and itk::ImageRegionMultidimensionalSplitter< VImageDimension >.
Definition at line 70 of file itkImageRegionSplitter.h.
| typedef Index<VImageDimension> itk::ImageRegionSplitter< VImageDimension >::IndexType |
Index typedef support. An index is used to access pixel values.
Reimplemented in otb::ImageRegionNonUniformMultidimensionalSplitter< VImageDimension >, otb::ImageRegionTileMapSplitter< VImageDimension >, and itk::ImageRegionMultidimensionalSplitter< VImageDimension >.
Definition at line 89 of file itkImageRegionSplitter.h.
| typedef Size<VImageDimension> itk::ImageRegionSplitter< VImageDimension >::SizeType |
Size typedef support. A size is used to define region bounds.
Reimplemented in otb::ImageRegionNonUniformMultidimensionalSplitter< VImageDimension >, otb::ImageRegionTileMapSplitter< VImageDimension >, and itk::ImageRegionMultidimensionalSplitter< VImageDimension >.
Definition at line 93 of file itkImageRegionSplitter.h.
| typedef ImageRegion<VImageDimension> itk::ImageRegionSplitter< VImageDimension >::RegionType |
Region typedef support.
Reimplemented in otb::ImageRegionNonUniformMultidimensionalSplitter< VImageDimension >, otb::ImageRegionTileMapSplitter< VImageDimension >, and itk::ImageRegionMultidimensionalSplitter< VImageDimension >.
Definition at line 97 of file itkImageRegionSplitter.h.
typedef int itk::LightObject::InternalReferenceCountType [protected, inherited] |
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.
| static Pointer itk::ImageRegionSplitter< VImageDimension >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::Object.
Reimplemented in otb::ImageRegionNonUniformMultidimensionalSplitter< VImageDimension >, otb::ImageRegionTileMapSplitter< VImageDimension >, and itk::ImageRegionMultidimensionalSplitter< VImageDimension >.
| virtual const char* itk::ImageRegionSplitter< VImageDimension >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::Object.
Reimplemented in otb::ImageRegionNonUniformMultidimensionalSplitter< VImageDimension >, otb::ImageRegionTileMapSplitter< VImageDimension >, and itk::ImageRegionMultidimensionalSplitter< VImageDimension >.
| static unsigned int itk::ImageRegionSplitter< VImageDimension >::GetImageDimension | ( | ) | [inline, static] |
Dimension of the image available at run time.
Reimplemented in otb::ImageRegionTileMapSplitter< VImageDimension >.
Definition at line 85 of file itkImageRegionSplitter.h.
| unsigned int itk::ImageRegionSplitter< VImageDimension >::GetNumberOfSplits | ( | const RegionType & | region, | |
| unsigned int | requestedNumber | |||
| ) | [inline, virtual] |
How many pieces can the specifed region be split? A given region cannot always be divided into the requested number of pieces. For instance, if the numberOfPieces exceeds the number of pixels along a certain dimensions, then some splits will not be possible. This method returns a number less than or equal to the requested number of pieces.
Reimplemented in itk::ImageRegionMultidimensionalSplitter< VImageDimension >.
Definition at line 32 of file itkImageRegionSplitter.txx.
Referenced by otb::StreamingTraits< TImage >::CalculateNumberOfStreamDivisions().
00033 { 00034 int splitAxis; 00035 const SizeType ®ionSize = region.GetSize(); 00036 00037 // split on the outermost dimension available 00038 splitAxis = VImageDimension - 1; 00039 while (regionSize[splitAxis] == 1) 00040 { 00041 --splitAxis; 00042 if (splitAxis < 0) 00043 { // cannot split 00044 itkDebugMacro(" Cannot Split"); 00045 return 1; 00046 } 00047 } 00048 00049 // determine the actual number of pieces that will be generated 00050 SizeValueType range = regionSize[splitAxis]; 00051 int valuesPerPiece = Math::Ceil<int>(range/(double)requestedNumber); 00052 int maxPieceUsed = Math::Ceil<int>(range/(double)valuesPerPiece) - 1; 00053 00054 return maxPieceUsed + 1; 00055 }
| ImageRegion< VImageDimension > itk::ImageRegionSplitter< VImageDimension >::GetSplit | ( | unsigned int | i, | |
| unsigned int | numberOfPieces, | |||
| const RegionType & | region | |||
| ) | [inline, virtual] |
Get a region definition that represents the ith piece a specified region. The "numberOfPieces" must be equal to what GetNumberOfSplits() returns.
Reimplemented in itk::ImageRegionMultidimensionalSplitter< VImageDimension >.
Definition at line 64 of file itkImageRegionSplitter.txx.
References itk::Index< VIndexDimension >::GetIndex(), itk::Size< VDimension >::GetSize(), and itk::Size< VDimension >::SetSize().
00066 { 00067 int splitAxis; 00068 RegionType splitRegion; 00069 IndexType splitIndex; 00070 SizeType splitSize, regionSize; 00071 00072 // Initialize the splitRegion to the requested region 00073 splitRegion = region; 00074 splitIndex = splitRegion.GetIndex(); 00075 splitSize = splitRegion.GetSize(); 00076 00077 regionSize = region.GetSize(); 00078 00079 // split on the outermost dimension available 00080 splitAxis = VImageDimension - 1; 00081 while (regionSize[splitAxis] == 1) 00082 { 00083 --splitAxis; 00084 if (splitAxis < 0) 00085 { // cannot split 00086 itkDebugMacro(" Cannot Split"); 00087 return splitRegion; 00088 } 00089 } 00090 00091 // determine the actual number of pieces that will be generated 00092 SizeValueType range = regionSize[splitAxis]; 00093 int valuesPerPiece = Math::Ceil<int>(range/(double)numberOfPieces); 00094 int maxPieceUsed = Math::Ceil<int>(range/(double)valuesPerPiece) - 1; 00095 00096 // Split the region 00097 if ((int) i < maxPieceUsed) 00098 { 00099 splitIndex[splitAxis] += i*valuesPerPiece; 00100 splitSize[splitAxis] = valuesPerPiece; 00101 } 00102 if ((int) i == maxPieceUsed) 00103 { 00104 splitIndex[splitAxis] += i*valuesPerPiece; 00105 // last piece needs to process the "rest" dimension being split 00106 splitSize[splitAxis] = splitSize[splitAxis] - i*valuesPerPiece; 00107 } 00108 00109 // set the split region ivars 00110 splitRegion.SetIndex( splitIndex ); 00111 splitRegion.SetSize( splitSize ); 00112 00113 itkDebugMacro(" Split Piece: " << splitRegion ); 00114 00115 return splitRegion; 00116 }
| void itk::ImageRegionSplitter< VImageDimension >::PrintSelf | ( | std::ostream & | os, | |
| Indent | indent | |||
| ) | const [inline, protected, virtual] |
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::Object.
Reimplemented in otb::ImageRegionNonUniformMultidimensionalSplitter< VImageDimension >, otb::ImageRegionTileMapSplitter< VImageDimension >, and itk::ImageRegionMultidimensionalSplitter< VImageDimension >.
Definition at line 126 of file itkImageRegionSplitter.txx.
00127 { 00128 Superclass::PrintSelf(os,indent); 00129 }
| LightObject::Pointer itk::Object::CreateAnother | ( | void | ) | const [virtual, inherited] |
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::LightObject.
Reimplemented in otb::BSQImageIOFactory, otb::DefaultImageMetadataInterfaceFactory, otb::GDALImageIOFactory, otb::IkonosImageMetadataInterfaceFactory, otb::JPEG2000ImageIOFactory, otb::KMLVectorDataIOFactory< TData >, otb::LUMImageIOFactory, otb::MSTARImageIOFactory, otb::MWImageIOFactory, otb::OGRVectorDataIOFactory< TData >, otb::ONERAImageIOFactory, otb::QuickBirdImageMetadataInterfaceFactory, otb::RADImageIOFactory, otb::SpotImageMetadataInterfaceFactory, otb::TileMapImageIOFactory, otb::WorldView2ImageMetadataInterfaceFactory, itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::CreateObjectFunction< T >, itk::TransformFactoryBase, itk::AnalyzeImageIOFactory, itk::BioRadImageIOFactory, itk::BMPImageIOFactory, itk::Brains2MaskImageIOFactory, itk::DICOMImageIO2Factory, itk::DicomImageIOFactory, itk::GDCMImageIOFactory, itk::GE4ImageIOFactory, itk::GE5ImageIOFactory, itk::GEAdwImageIOFactory, itk::GiplImageIOFactory, itk::JPEGImageIOFactory, itk::LSMImageIOFactory, itk::MetaImageIOFactory, itk::NiftiImageIOFactory, itk::NrrdImageIOFactory, itk::PNGImageIOFactory, itk::SiemensVisionImageIOFactory, itk::StimulateImageIOFactory, itk::TIFFImageIOFactory, itk::VTKImageIOFactory, itk::Bruker2DSEQImageIOFactory, itk::MatlabTransformIOFactory, itk::MINC2ImageIOFactory, itk::PhilipsRECImageIOFactory, itk::TxtTransformIOFactory, itk::VoxBoCUBImageIOFactory, and itk::SpatialObjectFactoryBase.
Definition at line 231 of file itkObject.cxx.
References itk::SmartPointer< TObjectType >::GetPointer(), and itk::Object::New().
00232 { 00233 return Object::New().GetPointer(); 00234 }
| void itk::Object::DebugOn | ( | ) | const [virtual, inherited] |
Turn debugging output on.
Turn debugging output on.
Definition at line 242 of file itkObject.cxx.
References itk::Object::m_Debug.
00243 { 00244 m_Debug = true; 00245 }
| void itk::Object::DebugOff | ( | ) | const [virtual, inherited] |
Turn debugging output off.
Turn debugging output off.
Definition at line 253 of file itkObject.cxx.
References itk::Object::m_Debug.
00254 { 00255 m_Debug = false; 00256 }
| bool itk::Object::GetDebug | ( | ) | const [inherited] |
Get the value of the debug flag.
Get the value of the debug flag.
Definition at line 264 of file itkObject.cxx.
References itk::Object::m_Debug.
00265 { 00266 return m_Debug; 00267 }
| void itk::Object::SetDebug | ( | bool | debugFlag | ) | const [inherited] |
Set the value of the debug flag. A non-zero value turns debugging on.
Set the value of the debug flag. A non-zero value turns debugging on.
Definition at line 275 of file itkObject.cxx.
References itk::Object::m_Debug.
00276 { 00277 m_Debug = debugFlag; 00278 }
| unsigned long itk::Object::GetMTime | ( | void | ) | const [virtual, inherited] |
Return this objects modified time.
Return the modification for this object.
Reimplemented in itk::ImageRegistrationMethod< TFixedImage, TMovingImage >, itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >, itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >, itk::PointSetToImageRegistrationMethod< TFixedPointSet, TMovingImage >, itk::PointSetToPointSetRegistrationMethod< TFixedPointSet, TMovingPointSet >, itk::DeformationFieldSource< TOutputImage >, itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::VectorResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::BoundingBox< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >, itk::ImageAdaptor< TImage, TAccessor >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::TransformToDeformationFieldSource< TOutputImage, TTransformPrecisionType >, itk::ImageSpatialObject< TDimension, TPixelType >, itk::MeshSpatialObject< TMesh >, itk::SceneSpatialObject< TSpaceDimension >, itk::SpatialObject< TDimension >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecision >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecision >, itk::ImageAdaptor< TImage, itk::Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, otb::Accessor::VectorImageToASPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, itk::Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, otb::Accessor::ShiftScalePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::AddPixelAccessor< TImage::PixelType > >, itk::ImageAdaptor< itk::VectorImage< TPixelType, Dimension >, itk::Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, itk::PixelAccessor< TInternalType, TExternalType > >, itk::ImageAdaptor< TImage, itk::Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, itk::Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageSpatialObject< TDimension, unsigned char >, itk::SpatialObject< VDimension >, itk::SpatialObject< 3 >, and itk::SpatialObject< ::itk::GetMeshDimension< TMesh >::PointDimension >.
Definition at line 286 of file itkObject.cxx.
References itk::TimeStamp::GetMTime(), and itk::Object::m_MTime.
Referenced by itk::BoundingBox< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::GetMTime(), itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >::GetMTime(), itk::DeformationFieldSource< TOutputImage >::GetMTime(), itk::SpatialObject< TDimension >::GetMTime(), itk::TransformToDeformationFieldSource< TOutputImage, TTransformPrecisionType >::GetMTime(), itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::GetMTime(), itk::VectorResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >::GetMTime(), itk::SpatialObject< ::itk::GetMeshDimension< TMesh >::PointDimension >::GetObjectMTime(), otb::Function::StandardRenderingFunction< TPixel, TRGBPixel, TPixelRepresentationFunction, TTransferFunction >::Initialize(), itk::VTKImageExportBase::PipelineModifiedCallback(), itk::Object::PrintSelf(), and itk::ProcessObject::UpdateOutputInformation().
00287 { 00288 return m_MTime.GetMTime(); 00289 }
| void itk::Object::Modified | ( | void | ) | const [virtual, inherited] |
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::GenericInterpolateImageFunction< TInputImage, TFunction, TBoundaryCondition, TCoordRep >, otb::PolyLineParametricPathWithValue< TValue, VDimension >, otb::SVMModel< TValue, TLabel >, otb::GenericRSTransform< TScalarType, NInputDimensions, NOutputDimensions >, otb::MapProjection< TOssimMapProjection, TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >, otb::SurfaceAdjacencyEffect6SCorrectionSchemeFilter< TInputImage, TOutputImage >, otb::TerraSarCalibrationImageFilter< TInputImage, TOutputImage >, itk::NormalizeImageFilter< TInputImage, TOutputImage >, itk::ImageAdaptor< TImage, TAccessor >, itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >, itk::GrayscaleDilateImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleErodeImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleMorphologicalClosingImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleMorphologicalOpeningImageFilter< TInputImage, TOutputImage, TKernel >, itk::MorphologicalGradientImageFilter< TInputImage, TOutputImage, TKernel >, otb::MeanShiftImageFilter< TInputImage, TOutputImage, TLabeledOutput, otb::MeanShift::VectorBufferConverter >, otb::MapProjection< ossimMollweidProjection, transform >, otb::MapProjection< ossimSinusoidalProjection, transform >, otb::MapProjection< ossimTransMercatorProjection, transform >, otb::MapProjection< ossimEckert4Projection, transform >, otb::MapProjection< ossimLambertConformalConicProjection, transform >, otb::MapProjection< ossimUtmProjection, transform >, itk::ImageAdaptor< TImage, itk::Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, otb::Accessor::VectorImageToASPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, itk::Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, otb::Accessor::ShiftScalePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::AddPixelAccessor< TImage::PixelType > >, itk::ImageAdaptor< itk::VectorImage< TPixelType, Dimension >, itk::Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, itk::PixelAccessor< TInternalType, TExternalType > >, itk::ImageAdaptor< TImage, itk::Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, itk::Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, and itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, itk::RankImageFilter< TInputImage, TInputImage, itk::FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension > > >.
Definition at line 297 of file itkObject.cxx.
References itk::Object::InvokeEvent(), itk::Object::m_MTime, and itk::TimeStamp::Modified().
Referenced by itk::NarrowBandImageFilterBase< TInputImage, itk::Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::InsertNarrowBandNode(), otb::ImageWidget< TInputImage >::LinearInterpolationOn(), itk::Object::Object(), itk::AffineTransform< TScalarType, NDimensions >::Rotate(), itk::AffineTransform< TScalarType, NDimensions >::Rotate2D(), itk::AffineTransform< TScalarType, NDimensions >::Rotate3D(), itk::AffineTransform< TScalarType, NDimensions >::Scale(), itk::Rigid2DTransform< TScalarType >::SetAngle(), otb::Function::StandardRenderingFunction< TPixel, TRGBPixel, TPixelRepresentationFunction, TTransferFunction >::SetAutoMinMax(), otb::BlendingImageFilter< TInputImage1, TInputImage2, TOutputImage >::SetBlendingFunction(), otb::ImageLayerGenerator< TImageLayer >::SetBlendingFunction(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetCenter(), itk::LBFGSBOptimizer::SetCostFunction(), itk::ImageIOBase::SetDimensions(), itk::ImageIOBase::SetDirection(), itk::RawImageIO< TPixel, VImageDimension >::SetHeaderSize(), itk::VersorTransform< TScalarType >::SetIdentity(), itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::SetImageMask(), itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::SetInput(), itk::GDCMSeriesFileNames::SetInputDirectory(), otb::HistogramStatisticsFunction< TInputHistogram, TOutput >::SetInputHistogram(), itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::SetInsidePixelValue(), otb::Function::RenderingFunction< TPixel, TRGBPixel >::SetListSample(), itk::Similarity2DTransform< TScalarType >::SetMatrix(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetMatrix(), itk::Rigid2DTransform< TScalarType >::SetMatrix(), itk::NarrowBandImageFilterBase< TInputImage, itk::Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBandInnerRadius(), itk::NarrowBandImageFilterBase< TInputImage, itk::Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBandTotalRadius(), itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::SetNumberOfBinsPerAxis(), itk::ImageIOBase::SetNumberOfDimensions(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetOffset(), itk::ImageIOBase::SetOrigin(), itk::QuaternionRigidTransform< TScalarType >::SetParameters(), itk::CenteredAffineTransform< TScalarType, NDimensions >::SetParameters(), itk::TranslationTransform< TScalarType, NDimensions >::SetParameters(), itk::ScaleSkewVersor3DTransform< TScalarType >::SetParameters(), itk::Rigid2DTransform< TScalarType >::SetParameters(), itk::Rigid3DPerspectiveTransform< TScalarType >::SetParameters(), itk::CenteredEuler3DTransform< TScalarType >::SetParameters(), itk::VersorTransform< TScalarType >::SetParameters(), itk::ScaleTransform< TScalarType, NDimensions >::SetParameters(), itk::Rigid3DTransform< TScalarType >::SetParameters(), itk::KernelTransform< TScalarType, NDimensions >::SetParameters(), itk::VersorRigid3DTransform< TScalarType >::SetParameters(), otb::Function::StandardRenderingFunction< TPixel, TRGBPixel, TPixelRepresentationFunction, TTransferFunction >::SetParameters(), itk::ScaleVersor3DTransform< TScalarType >::SetParameters(), itk::ScaleLogarithmicTransform< TScalarType, NDimensions >::SetParameters(), itk::Similarity3DTransform< TScalarType >::SetParameters(), itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::SetPixelValueMinMax(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetRealThresholds(), otb::RenderingImageFilter< TInputImage, TOutputImage >::SetRenderingFunction(), otb::ImageLayerGenerator< TImageLayer >::SetRenderingFunction(), itk::KernelTransform< TScalarType, NDimensions >::SetSourceLandmarks(), itk::ImageIOBase::SetSpacing(), itk::KernelTransform< TScalarType, NDimensions >::SetTargetLandmarks(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetThresholds(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetTranslation(), itk::AffineTransform< TScalarType, NDimensions >::Shear(), and itk::AffineTransform< TScalarType, NDimensions >::Translate().
00298 { 00299 m_MTime.Modified(); 00300 InvokeEvent( ModifiedEvent() ); 00301 }
| void itk::Object::Register | ( | ) | const [virtual, inherited] |
Increase the reference count (mark as used by another object).
Increase the reference count (mark as used by another object).
Reimplemented from itk::LightObject.
Definition at line 309 of file itkObject.cxx.
References itk::LightObject::m_ReferenceCount, and itk::LightObject::Register().
Referenced by itk::ObjectFactoryBase::RegisterFactory().
00310 { 00311 itkDebugMacro(<< "Registered, " 00312 << "ReferenceCount = " << (m_ReferenceCount+1)); 00313 00314 // call the parent 00315 Superclass::Register(); 00316 }
| void itk::Object::UnRegister | ( | ) | const [virtual, inherited] |
Decrease the reference count (release by another object).
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.
References itk::Object::InvokeEvent(), itk::LightObject::m_ReferenceCount, and itk::LightObject::UnRegister().
Referenced by itk::Object::New(), itk::SmartPointer< itk::Statistics::ImageToListAdaptor >::operator=(), and itk::ObjectFactoryBase::UnRegisterFactory().
00325 { 00326 // call the parent 00327 itkDebugMacro(<< "UnRegistered, " 00328 << "ReferenceCount = " << (m_ReferenceCount-1)); 00329 00330 if ( (m_ReferenceCount-1) <= 0) 00331 { 00335 this->InvokeEvent(DeleteEvent()); 00336 } 00337 00338 Superclass::UnRegister(); 00339 }
| void itk::Object::SetReferenceCount | ( | int | ref | ) | [virtual, inherited] |
Sets the reference count (use with care)
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.
References itk::Object::InvokeEvent(), and itk::LightObject::SetReferenceCount().
00348 { 00349 itkDebugMacro(<< "Reference Count set to " << ref); 00350 00351 // ReferenceCount in now unlocked. We may have a race condition to 00352 // to delete the object. 00353 if( ref <= 0 ) 00354 { 00358 this->InvokeEvent(DeleteEvent()); 00359 } 00360 00361 Superclass::SetReferenceCount(ref); 00362 }
| void itk::Object::SetGlobalWarningDisplay | ( | bool | val | ) | [static, inherited] |
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.
References itk::Object::m_GlobalWarningDisplay.
00371 { 00372 m_GlobalWarningDisplay = val; 00373 }
| bool itk::Object::GetGlobalWarningDisplay | ( | ) | [static, inherited] |
Get the value of the global debug output control flag.
Definition at line 381 of file itkObject.cxx.
References itk::Object::m_GlobalWarningDisplay.
00382 { 00383 return m_GlobalWarningDisplay; 00384 }
| unsigned long itk::Object::AddObserver | ( | const EventObject & | event, | |
| Command * | cmd | |||
| ) | [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::Object::m_SubjectImplementation.
Referenced by itk::ProgressAccumulator::RegisterInternalFilter(), and otb::WriterWatcherBase::WriterWatcherBase().
00390 { 00391 if (!this->m_SubjectImplementation) 00392 { 00393 this->m_SubjectImplementation = new SubjectImplementation; 00394 } 00395 return this->m_SubjectImplementation->AddObserver(event,cmd); 00396 }
| Command * itk::Object::GetCommand | ( | unsigned long | tag | ) | [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::m_SubjectImplementation.
00415 { 00416 if (this->m_SubjectImplementation) 00417 { 00418 return this->m_SubjectImplementation->GetCommand(tag); 00419 } 00420 return NULL; 00421 }
| void itk::Object::InvokeEvent | ( | const EventObject & | event | ) | [inherited] |
Call Execute on all the Commands observing this event id.
Definition at line 446 of file itkObject.cxx.
References itk::Object::m_SubjectImplementation.
Referenced by itk::Object::Modified(), itk::Object::SetReferenceCount(), itk::CumulativeGaussianOptimizer::StartOptimization(), itk::Object::UnRegister(), and itk::VTKImageExportBase::UpdateDataCallback().
00447 { 00448 if (this->m_SubjectImplementation) 00449 { 00450 this->m_SubjectImplementation->InvokeEvent(event,this); 00451 } 00452 }
| void itk::Object::InvokeEvent | ( | const EventObject & | event | ) | const [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.
References itk::Object::m_SubjectImplementation.
00458 { 00459 if (this->m_SubjectImplementation) 00460 { 00461 this->m_SubjectImplementation->InvokeEvent(event,this); 00462 } 00463 }
| void itk::Object::RemoveObserver | ( | unsigned long | tag | ) | [inherited] |
Remove the observer with this tag value.
Definition at line 425 of file itkObject.cxx.
References itk::Object::m_SubjectImplementation.
00426 { 00427 if (this->m_SubjectImplementation) 00428 { 00429 this->m_SubjectImplementation->RemoveObserver(tag); 00430 } 00431 }
| void itk::Object::RemoveAllObservers | ( | ) | [inherited] |
Remove all observers .
Definition at line 435 of file itkObject.cxx.
References itk::Object::m_SubjectImplementation.
00436 { 00437 if (this->m_SubjectImplementation) 00438 { 00439 this->m_SubjectImplementation->RemoveAllObservers(); 00440 } 00441 }
| bool itk::Object::HasObserver | ( | const EventObject & | event | ) | const [inherited] |
Return true if an observer is registered for this event.
Definition at line 467 of file itkObject.cxx.
References itk::Object::m_SubjectImplementation.
00468 { 00469 if (this->m_SubjectImplementation) 00470 { 00471 return this->m_SubjectImplementation->HasObserver(event); 00472 } 00473 return false; 00474 }
| MetaDataDictionary & itk::Object::GetMetaDataDictionary | ( | void | ) | [inherited] |
Definition at line 532 of file itkObject.cxx.
References itk::Object::m_MetaDataDictionary.
Referenced by otb::RenderingImageFilter< TInputImage, TOutputImage >::BeforeThreadedGenerateData(), itk::Brains2MaskImageIO::CanReadFile(), otb::Image< TPixel, VImageDimension >::CopyInformation(), otb::VectorImage< TPixel, VImageDimension >::CopyInformation(), itk::GDCMImageIO::GetPatientName(), itk::GDCMImageIO::GetValueFromTag(), otb::GDALImageIO::InternalReadImageInformation(), otb::GDALImageIO::InternalWriteImageInformation(), otb::Image< TPixel, VImageDimension >::PrintSelf(), otb::VectorImage< TPixel, VImageDimension >::PrintSelf(), itk::DICOMImageIO2::Read(), itk::NiftiImageIO::ReadImageInformation(), itk::DICOMImageIO2::ReadImageInformation(), itk::VoxBoCUBImageIO::ReadImageInformation(), itk::MetaImageIO::ReadImageInformation(), itk::AnalyzeImageIO::ReadImageInformation(), itk::IPLCommonImageIO::ReadImageInformation(), itk::PhilipsRECImageIO::ReadImageInformation(), itk::Bruker2DSEQImageIO::ReadImageInformation(), itk::NrrdImageIO::ReadImageInformation(), itk::Brains2MaskImageIO::Write(), itk::GDCMImageIO::Write(), itk::NrrdImageIO::Write(), itk::MetaImageIO::Write(), itk::AnalyzeImageIO::WriteImageInformation(), and itk::VoxBoCUBImageIO::WriteImageInformation().
00533 { 00534 if(m_MetaDataDictionary==NULL) 00535 { 00536 m_MetaDataDictionary=new MetaDataDictionary; 00537 } 00538 return *m_MetaDataDictionary; 00539 }
| const MetaDataDictionary & itk::Object::GetMetaDataDictionary | ( | void | ) | const [inherited] |
Definition at line 543 of file itkObject.cxx.
References itk::Object::m_MetaDataDictionary.
00544 { 00545 if(m_MetaDataDictionary==NULL) 00546 { 00547 m_MetaDataDictionary=new MetaDataDictionary; 00548 } 00549 return *m_MetaDataDictionary; 00550 }
| void itk::Object::SetMetaDataDictionary | ( | const MetaDataDictionary & | rhs | ) | [inherited] |
Definition at line 554 of file itkObject.cxx.
References itk::Object::m_MetaDataDictionary.
Referenced by otb::Image< TPixel, VImageDimension >::CopyInformation(), and otb::VectorImage< TPixel, VImageDimension >::CopyInformation().
00555 { 00556 if(m_MetaDataDictionary==NULL) 00557 { 00558 m_MetaDataDictionary=new MetaDataDictionary; 00559 } 00560 *m_MetaDataDictionary=rhs; 00561 }
| void itk::LightObject::Delete | ( | ) | [virtual, inherited] |
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.
References itk::LightObject::UnRegister().
00089 { 00090 this->UnRegister(); 00091 }
| void itk::LightObject::Print | ( | std::ostream & | os, | |
| Indent | indent = 0 | |||
| ) | const [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(), itk::LightObject::PrintHeader(), itk::LightObject::PrintSelf(), and itk::LightObject::PrintTrailer().
Referenced by itk::operator<<(), itk::WeakPointer< itk::ProcessObject >::Print(), and itk::SmartPointer< itk::Statistics::ImageToListAdaptor >::Print().
00136 { 00137 this->PrintHeader(os, indent); 00138 this->PrintSelf(os, indent.GetNextIndent()); 00139 this->PrintTrailer(os, indent); 00140 }
| void itk::LightObject::BreakOnError | ( | ) | [static, inherited] |
This method is called when itkExceptionMacro executes. It allows the debugger to break on error.
This method is called when itkExceptionMacro executes. It allows the debugger to break on error.
Definition at line 149 of file itkLightObject.cxx.
| virtual int itk::LightObject::GetReferenceCount | ( | ) | const [inline, virtual, inherited] |
Gets the reference count on this object.
Definition at line 105 of file itkLightObject.h.
00106 {return static_cast<int>(m_ReferenceCount);}
| void itk::LightObject::PrintHeader | ( | std::ostream & | os, | |
| Indent | indent | |||
| ) | const [protected, virtual, inherited] |
Define a default print header for all objects.
Definition at line 320 of file itkLightObject.cxx.
References itk::LightObject::GetNameOfClass().
Referenced by itk::LightObject::Print().
00321 { 00322 os << indent << this->GetNameOfClass() << " (" << this << ")\n"; 00323 }
| void itk::LightObject::PrintTrailer | ( | std::ostream & | os, | |
| Indent | indent | |||
| ) | const [protected, virtual, inherited] |
Define a default print trailer for all objects.
Definition at line 331 of file itkLightObject.cxx.
Referenced by itk::LightObject::Print().
const unsigned int itk::ImageRegionSplitter< VImageDimension >::ImageDimension = VImageDimension [static] |
Dimension of the image available at compile time.
Reimplemented in otb::ImageRegionNonUniformMultidimensionalSplitter< VImageDimension >, otb::ImageRegionTileMapSplitter< VImageDimension >, and itk::ImageRegionMultidimensionalSplitter< VImageDimension >.
Definition at line 82 of file itkImageRegionSplitter.h.
InternalReferenceCountType itk::LightObject::m_ReferenceCount [mutable, protected, inherited] |
Number of uses of this object by other objects.
Definition at line 141 of file itkLightObject.h.
Referenced by itk::LightObject::PrintSelf(), itk::LightObject::Register(), itk::Object::Register(), itk::LightObject::SetReferenceCount(), itk::LightObject::UnRegister(), itk::Object::UnRegister(), and itk::LightObject::~LightObject().
SimpleFastMutexLock itk::LightObject::m_ReferenceCountLock [mutable, protected, inherited] |
Mutex lock to protect modification to the reference count
Definition at line 144 of file itkLightObject.h.
Referenced by itk::LightObject::Register(), itk::LightObject::SetReferenceCount(), and itk::LightObject::UnRegister().