ITK  4.8.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
itk::ImageRegion< VImageDimension > Class Template Reference

#include <itkImageRegion.h>

+ Inheritance diagram for itk::ImageRegion< VImageDimension >:
+ Collaboration diagram for itk::ImageRegion< VImageDimension >:

Detailed Description

template<unsigned int VImageDimension>
class itk::ImageRegion< VImageDimension >

An image region represents a structured region of data.

ImageRegion is an class that represents some structured portion or piece of an Image. The ImageRegion is represented with an index and a size in each of the n-dimensions of the image. (The index is the corner of the image, the size is the lengths of the image in each of the topological directions.)

See Also
Region
Index
Size
MeshRegion
Wiki Examples:
Examples:
SphinxExamples/src/Core/Common/CreateAImageRegion/Code.cxx, SphinxExamples/src/Core/Common/IsPixelInsideRegion/Code.cxx, SphinxExamples/src/ImageCompareCommand.cxx, WikiExamples/Curves/ContourMeanDistanceImageFilter.cxx, WikiExamples/EdgesAndGradients/SobelEdgeDetectionImageFilter.cxx, WikiExamples/Functions/MedianImageFunction.cxx, WikiExamples/ImageProcessing/ApproximateSignedDistanceMapImageFilter.cxx, WikiExamples/ImageProcessing/ImageFilterOnARegion.cxx, WikiExamples/ImageProcessing/MultiplyByConstantImageFilter.cxx, WikiExamples/ImageProcessing/ObjectByObjectLabelMapFilter.cxx, WikiExamples/ImageProcessing/RGBToLuminanceImageFilter.cxx, WikiExamples/ImageProcessing/SignedDanielssonDistanceMapImageFilter.cxx, WikiExamples/ImageProcessing/SignedMaurerDistanceMapImageFilter.cxx, WikiExamples/ImageProcessing/ZeroCrossingImageFilter.cxx, WikiExamples/Images/ConvertPixelBuffer.cxx, WikiExamples/Images/ImageRegion.cxx, WikiExamples/Images/MaskNeighborhoodOperatorImageFilter.cxx, WikiExamples/Images/MirrorPadImageFilter.cxx, WikiExamples/Morphology/BinaryMorphologicalClosingImageFilter.cxx, WikiExamples/Morphology/BinaryMorphologicalOpeningImageFilter.cxx, WikiExamples/Segmentation/ContourExtractor2DImageFilter.cxx, WikiExamples/Segmentation/SimpleContourExtractorImageFilter.cxx, WikiExamples/Segmentation/WatershedImageFilter.cxx, WikiExamples/SimpleOperations/ParaviewColormap.cxx, WikiExamples/SimpleOperations/PixelInsideRegion.cxx, WikiExamples/SimpleOperations/RequestedRegion.cxx, WikiExamples/SimpleOperations/ScalarToRGBColormapImageFilter.cxx, WikiExamples/SpectralAnalysis/ForwardFFTImageFilter.cxx, WikiExamples/SpectralAnalysis/InverseFFTImageFilter.cxx, WikiExamples/SpectralAnalysis/VnlFFTRealToComplexConjugateImageFilter.cxx, WikiExamples/Statistics/HistogramToImageFilterGrayscale.cxx, WikiExamples/Statistics/HistogramToImageFilterRGB.cxx, WikiExamples/Statistics/HistogramToImageFilterVectorImage.cxx, WikiExamples/VectorImages/VectorNeighborhoodIterator.cxx, and WikiExamples/VectorImages/VectorResampleImageFilter.cxx.

Definition at line 69 of file itkImageRegion.h.

Public Types

typedef Index
< itkGetStaticConstMacro(ImageDimension) > 
IndexType
 
typedef IndexValueType IndexValueArrayType [ImageDimension]
 
typedef IndexType::IndexValueType IndexValueType
 
typedef OffsetValueType OffsetTableType [ImageDimension+1]
 
typedef IndexType::OffsetType OffsetType
 
typedef OffsetType::OffsetValueType OffsetValueType
 
typedef ImageRegion Self
 
typedef Size
< itkGetStaticConstMacro(ImageDimension) > 
SizeType
 
typedef SizeType::SizeValueType SizeValueType
 
typedef ImageRegion
< itkGetStaticConstMacro(SliceDimension) > 
SliceRegion
 
typedef Region Superclass
 
- Public Types inherited from itk::Region
enum  RegionType {
  ITK_UNSTRUCTURED_REGION,
  ITK_STRUCTURED_REGION
}
 
typedef Region Self
 

Public Member Functions

void ComputeOffsetTable (OffsetTableType offsetTable) const
 
virtual const char * GetNameOfClass () const
 
virtual Superclass::RegionType GetRegionType () const override
 
IndexType GetUpperIndex () const
 
 ImageRegion ()
 
 ImageRegion (const Self &region)
 
 ImageRegion (const IndexType &index, const SizeType &size)
 
 ImageRegion (const SizeType &size)
 
void operator= (const Self &region)
 
void SetIndex (const IndexType &index)
 
void SetSize (const SizeType &size)
 
void SetUpperIndex (const IndexType &idx)
 
virtual ~ImageRegion ()
 
const IndexTypeGetIndex () const
 
IndexTypeGetModifiableIndex ()
 
const SizeTypeGetSize () const
 
SizeTypeGetModifiableSize ()
 
void SetSize (unsigned int i, SizeValueType sze)
 
SizeValueType GetSize (unsigned int i) const
 
void SetIndex (unsigned int i, IndexValueType sze)
 
IndexValueType GetIndex (unsigned int i) const
 
bool operator== (const Self &region) const
 
bool operator!= (const Self &region) const
 
bool IsInside (const IndexType &index) const
 
- Public Member Functions inherited from itk::Region
 itkTypeMacroNoParent (Region)
 
virtual void Print (std::ostream &os, Indent indent=0) const
 
 Region ()
 
virtual ~Region ()
 

Static Public Member Functions

static unsigned int GetImageDimension ()
 

Static Public Attributes

static const unsigned int ImageDimension = VImageDimension
 
static const unsigned int SliceDimension = ( ImageDimension - ( ImageDimension > 1 ) )
 
IndexType m_Index
 
SizeType m_Size
 
class ImageBase< VImageDimension >
 
template<typename TCoordRepType >
bool IsInside (const ContinuousIndex< TCoordRepType, VImageDimension > &index) const
 
bool IsInside (const Self &region) const
 
SizeValueType GetNumberOfPixels () const
 
void PadByRadius (OffsetValueType radius)
 
void PadByRadius (const IndexValueArrayType radius)
 
void PadByRadius (const SizeType &radius)
 
bool ShrinkByRadius (OffsetValueType radius)
 
bool ShrinkByRadius (const IndexValueArrayType radius)
 
bool ShrinkByRadius (const SizeType &radius)
 
bool Crop (const Self &region)
 
SliceRegion Slice (const unsigned int dim) const
 
virtual void PrintSelf (std::ostream &os, Indent indent) const override
 

Additional Inherited Members

- Protected Member Functions inherited from itk::Region
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 

Member Typedef Documentation

template<unsigned int VImageDimension>
typedef Index< itkGetStaticConstMacro(ImageDimension) > itk::ImageRegion< VImageDimension >::IndexType

Index typedef support. An index is used to access pixel values.

Definition at line 92 of file itkImageRegion.h.

template<unsigned int VImageDimension>
typedef IndexValueType itk::ImageRegion< VImageDimension >::IndexValueArrayType[ImageDimension]

Definition at line 94 of file itkImageRegion.h.

template<unsigned int VImageDimension>
typedef IndexType::IndexValueType itk::ImageRegion< VImageDimension >::IndexValueType

Definition at line 93 of file itkImageRegion.h.

template<unsigned int VImageDimension>
typedef OffsetValueType itk::ImageRegion< VImageDimension >::OffsetTableType[ImageDimension+1]

Definition at line 97 of file itkImageRegion.h.

template<unsigned int VImageDimension>
typedef IndexType::OffsetType itk::ImageRegion< VImageDimension >::OffsetType

Definition at line 95 of file itkImageRegion.h.

template<unsigned int VImageDimension>
typedef OffsetType::OffsetValueType itk::ImageRegion< VImageDimension >::OffsetValueType

Definition at line 96 of file itkImageRegion.h.

template<unsigned int VImageDimension>
typedef ImageRegion itk::ImageRegion< VImageDimension >::Self

Standard class typedefs.

Definition at line 73 of file itkImageRegion.h.

template<unsigned int VImageDimension>
typedef Size< itkGetStaticConstMacro(ImageDimension) > itk::ImageRegion< VImageDimension >::SizeType

Size typedef support. A size is used to define region bounds.

Definition at line 100 of file itkImageRegion.h.

template<unsigned int VImageDimension>
typedef SizeType::SizeValueType itk::ImageRegion< VImageDimension >::SizeValueType

Definition at line 101 of file itkImageRegion.h.

template<unsigned int VImageDimension>
typedef ImageRegion< itkGetStaticConstMacro(SliceDimension) > itk::ImageRegion< VImageDimension >::SliceRegion

Slice region typedef. SliceRegion is one dimension less than Self.

Definition at line 104 of file itkImageRegion.h.

template<unsigned int VImageDimension>
typedef Region itk::ImageRegion< VImageDimension >::Superclass

Definition at line 74 of file itkImageRegion.h.

Constructor & Destructor Documentation

template<unsigned int VImageDimension>
itk::ImageRegion< VImageDimension >::ImageRegion ( )

Constructor. ImageRegion is a lightweight object that is not reference counted, so the constructor is public.

template<unsigned int VImageDimension>
virtual itk::ImageRegion< VImageDimension >::~ImageRegion ( )
virtual

Destructor. ImageRegion is a lightweight object that is not reference counted, so the destructor is public.

template<unsigned int VImageDimension>
itk::ImageRegion< VImageDimension >::ImageRegion ( const Self region)
inline

Copy constructor. ImageRegion is a lightweight object that is not reference counted, so the copy constructor is public.

Definition at line 120 of file itkImageRegion.h.

template<unsigned int VImageDimension>
itk::ImageRegion< VImageDimension >::ImageRegion ( const IndexType index,
const SizeType size 
)
inline

Constructor that takes an index and size. ImageRegion is a lightweight object that is not reference counted, so this constructor is public.

Definition at line 124 of file itkImageRegion.h.

template<unsigned int VImageDimension>
itk::ImageRegion< VImageDimension >::ImageRegion ( const SizeType size)
inline

Constructor that takes a size and assumes an index of zeros. ImageRegion is lightweight object that is not reference counted so this constructor is public.

Definition at line 130 of file itkImageRegion.h.

Member Function Documentation

template<unsigned int VImageDimension>
void itk::ImageRegion< VImageDimension >::ComputeOffsetTable ( OffsetTableType  offsetTable) const

Compute an offset table based on the Size.

template<unsigned int VImageDimension>
bool itk::ImageRegion< VImageDimension >::Crop ( const Self region)

Crop a region by another region. If this region is outside of the crop, this method returns false and does not modify the region. Otherwise, this method returns true and the region is modified to reflect the crop.

template<unsigned int VImageDimension>
static unsigned int itk::ImageRegion< VImageDimension >::GetImageDimension ( )
inlinestatic

Dimension of the image available at run time.

Definition at line 88 of file itkImageRegion.h.

template<unsigned int VImageDimension>
const IndexType& itk::ImageRegion< VImageDimension >::GetIndex ( void  ) const
inline
template<unsigned int VImageDimension>
IndexValueType itk::ImageRegion< VImageDimension >::GetIndex ( unsigned int  i) const
inline

Convenience methods to get and set the index of the particular dimension i.

Definition at line 169 of file itkImageRegion.h.

template<unsigned int VImageDimension>
IndexType& itk::ImageRegion< VImageDimension >::GetModifiableIndex ( )
inline

Get index defining the corner of the region.

Definition at line 144 of file itkImageRegion.h.

Referenced by itk::ImageRegionSplitterBase::GetSplit().

template<unsigned int VImageDimension>
SizeType& itk::ImageRegion< VImageDimension >::GetModifiableSize ( )
inline

Get the size of the region.

Definition at line 154 of file itkImageRegion.h.

Referenced by itk::ImageRegionSplitterBase::GetSplit().

template<unsigned int VImageDimension>
virtual const char* itk::ImageRegion< VImageDimension >::GetNameOfClass ( ) const
virtual

Standard part of all itk objects.

template<unsigned int VImageDimension>
SizeValueType itk::ImageRegion< VImageDimension >::GetNumberOfPixels ( ) const

Get the number of pixels contained in this region. This just multiplies the size components.

template<unsigned int VImageDimension>
virtual Superclass::RegionType itk::ImageRegion< VImageDimension >::GetRegionType ( ) const
inlineoverridevirtual

Return the region type. Images are described with structured regions.

Implements itk::Region.

Definition at line 107 of file itkImageRegion.h.

template<unsigned int VImageDimension>
const SizeType& itk::ImageRegion< VImageDimension >::GetSize ( void  ) const
inline
template<unsigned int VImageDimension>
SizeValueType itk::ImageRegion< VImageDimension >::GetSize ( unsigned int  i) const
inline

Convenience methods to get and set the size of the particular dimension i.

Definition at line 161 of file itkImageRegion.h.

template<unsigned int VImageDimension>
IndexType itk::ImageRegion< VImageDimension >::GetUpperIndex ( ) const

Get index defining the upper corner of the region.

template<unsigned int VImageDimension>
bool itk::ImageRegion< VImageDimension >::IsInside ( const IndexType index) const
inline
template<unsigned int VImageDimension>
template<typename TCoordRepType >
bool itk::ImageRegion< VImageDimension >::IsInside ( const ContinuousIndex< TCoordRepType, VImageDimension > &  index) const
inline

Test if a continuous index is inside the region. We take into account the fact that each voxel has its center at the integer coordinate and extends half way to the next integer coordinate.

Definition at line 227 of file itkImageRegion.h.

template<unsigned int VImageDimension>
bool itk::ImageRegion< VImageDimension >::IsInside ( const Self region) const
inline

Test if a region (the argument) is completely inside of this region. If the region that is passed as argument to this method, has a size of value zero, then it will not be considered to be inside of the current region, even its starting index is inside.

Definition at line 259 of file itkImageRegion.h.

template<unsigned int VImageDimension>
bool itk::ImageRegion< VImageDimension >::operator!= ( const Self region) const
inline

Compare two regions.

Definition at line 194 of file itkImageRegion.h.

template<unsigned int VImageDimension>
void itk::ImageRegion< VImageDimension >::operator= ( const Self region)
inline

operator=. ImageRegion is a lightweight object that is not reference counted, so operator= is public.

Definition at line 135 of file itkImageRegion.h.

template<unsigned int VImageDimension>
bool itk::ImageRegion< VImageDimension >::operator== ( const Self region) const
inline

Compare two regions.

Definition at line 184 of file itkImageRegion.h.

template<unsigned int VImageDimension>
void itk::ImageRegion< VImageDimension >::PadByRadius ( OffsetValueType  radius)

Pad an image region by the specified radius. Region can be padded uniformly in all dimensions or can be padded by different amounts in each dimension.

template<unsigned int VImageDimension>
void itk::ImageRegion< VImageDimension >::PadByRadius ( const IndexValueArrayType  radius)

Friends of ImageRegion

template<unsigned int VImageDimension>
void itk::ImageRegion< VImageDimension >::PadByRadius ( const SizeType radius)

Friends of ImageRegion

template<unsigned int VImageDimension>
virtual void itk::ImageRegion< VImageDimension >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotectedvirtual

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.

Reimplemented from itk::Region.

template<unsigned int VImageDimension>
void itk::ImageRegion< VImageDimension >::SetIndex ( const IndexType index)
inline
template<unsigned int VImageDimension>
void itk::ImageRegion< VImageDimension >::SetIndex ( unsigned int  i,
IndexValueType  sze 
)
inline

Convenience methods to get and set the index of the particular dimension i.

Definition at line 167 of file itkImageRegion.h.

template<unsigned int VImageDimension>
void itk::ImageRegion< VImageDimension >::SetSize ( const SizeType size)
inline
template<unsigned int VImageDimension>
void itk::ImageRegion< VImageDimension >::SetSize ( unsigned int  i,
SizeValueType  sze 
)
inline

Convenience methods to get and set the size of the particular dimension i.

Definition at line 159 of file itkImageRegion.h.

template<unsigned int VImageDimension>
void itk::ImageRegion< VImageDimension >::SetUpperIndex ( const IndexType idx)

Modify the Size of the ImageRegion so that the provided index will be the upper corner index.

template<unsigned int VImageDimension>
bool itk::ImageRegion< VImageDimension >::ShrinkByRadius ( OffsetValueType  radius)

Shrink an image region by the specified radius. The region can be shrunk uniformly in all dimension or can be shink by different amounts in each direction. If the shink operation fails because the radius is too large, this method returns false.

template<unsigned int VImageDimension>
bool itk::ImageRegion< VImageDimension >::ShrinkByRadius ( const IndexValueArrayType  radius)

Friends of ImageRegion

template<unsigned int VImageDimension>
bool itk::ImageRegion< VImageDimension >::ShrinkByRadius ( const SizeType radius)

Friends of ImageRegion

template<unsigned int VImageDimension>
SliceRegion itk::ImageRegion< VImageDimension >::Slice ( const unsigned int  dim) const

Slice a region, producing a region that is one dimension lower than the current region. Parameter "dim" specifies which dimension to remove.

Friends And Related Function Documentation

template<unsigned int VImageDimension>
friend class ImageBase< VImageDimension >
friend

Friends of ImageRegion

Definition at line 326 of file itkImageRegion.h.

Member Data Documentation

template<unsigned int VImageDimension>
const unsigned int itk::ImageRegion< VImageDimension >::ImageDimension = VImageDimension
static

Dimension of the image available at compile time.

Definition at line 80 of file itkImageRegion.h.

Referenced by itk::ImageRegion< VDimension >::GetImageDimension(), and itk::ImageRegion< VDimension >::IsInside().

template<unsigned int VImageDimension>
IndexType itk::ImageRegion< VImageDimension >::m_Index
private
template<unsigned int VImageDimension>
SizeType itk::ImageRegion< VImageDimension >::m_Size
private
template<unsigned int VImageDimension>
const unsigned int itk::ImageRegion< VImageDimension >::SliceDimension = ( ImageDimension - ( ImageDimension > 1 ) )
static

Dimension one lower than the image unless the image is one dimensional in which case the SliceDimension is also one dimensional.

Definition at line 85 of file itkImageRegion.h.


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