ITK  5.4.0
Insight Toolkit
Public Types | Public Member Functions | Protected Member Functions | Private Attributes | List of all members
itk::ImageIORegion Class Reference

#include <itkImageIORegion.h>

Detailed Description

An ImageIORegion represents a structured region of data.

ImageIORegion is an class that represents some structured portion or piece of an Image. The ImageIORegion 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.) ImageIORegion is not templated over dimension, but uses dynamic arrays instead.

The first pixel of an image always have a Zero index. Therefore the index values of ImageIORegion may not directly correspond to those of ImageRegion. When translation between the two is performed one much consider the largest possible region who has a non-zero starting index for the image.

See also
Examples/IO/VisibleHumanPasteWrite.cxx, and SphinxExamples/src/IO/ImageBase/ProcessImageChunks/Code.cxx.

Definition at line 52 of file itkImageIORegion.h.

+ Inheritance diagram for itk::ImageIORegion:
+ Collaboration diagram for itk::ImageIORegion:

Public Types

using IndexType = std::vector< IndexValueType >
using IndexValueType = itk::IndexValueType
using OffsetValueType = itk::OffsetValueType
using RegionType = Superclass::RegionEnum
using Self = ImageIORegion
using SizeType = std::vector< SizeValueType >
using SizeValueType = itk::SizeValueType
using Superclass = Region
- Public Types inherited from itk::Region
using RegionEnum = ObjectEnums::RegionEnum
using Self = Region

Public Member Functions

unsigned int GetImageDimension () const
IndexValueType GetIndex (unsigned long i) const
SizeValueType GetNumberOfPixels () const
unsigned int GetRegionDimension () const
RegionType GetRegionType () const override
SizeValueType GetSize (unsigned long i) const
 ImageIORegion ()=default
 ImageIORegion (const Self &)=default
 ImageIORegion (Self &&)=default
 ImageIORegion (unsigned int dimension)
bool IsInside (const IndexType &index) const
bool IsInside (const Self &region) const
 itkOverrideGetNameOfClassMacro (ImageIORegion)
Selfoperator= (const Self &region)
Selfoperator= (Self &&)=default
bool operator== (const Self &region) const
void SetIndex (const IndexType &index)
void SetIndex (const unsigned long i, IndexValueType idx)
void SetSize (const SizeType &size)
void SetSize (const unsigned long i, SizeValueType size)
 ~ImageIORegion () override
const IndexTypeGetIndex () const
IndexTypeGetModifiableIndex ()
const SizeTypeGetSize () const
SizeTypeGetModifiableSize ()
- Public Member Functions inherited from itk::Region
 itkVirtualGetNameOfClassMacro (Region)
virtual void Print (std::ostream &os, Indent indent=0) const
 Region ()=default
virtual ~Region ()=default

Protected Member Functions

void PrintSelf (std::ostream &os, Indent indent) const override
- 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

Private Attributes

unsigned int m_ImageDimension { 2 }
IndexType m_Index { IndexType(2) }
SizeType m_Size { SizeType(2) }

Member Typedef Documentation

◆ IndexType

Index type alias support An index is used to access pixel values.

Definition at line 66 of file itkImageIORegion.h.

◆ IndexValueType

Definition at line 62 of file itkImageIORegion.h.

◆ OffsetValueType

Definition at line 63 of file itkImageIORegion.h.

◆ RegionType

Region type taken from the superclass

Definition at line 72 of file itkImageIORegion.h.

◆ Self

Standard class type aliases.

Definition at line 56 of file itkImageIORegion.h.

◆ SizeType

Size type alias support A size is used to define region bounds.

Definition at line 69 of file itkImageIORegion.h.

◆ SizeValueType

these types correspond to those of itk::Size, itk::Offset and itk::Index

Definition at line 61 of file itkImageIORegion.h.

◆ Superclass

Definition at line 57 of file itkImageIORegion.h.

Constructor & Destructor Documentation

◆ ImageIORegion() [1/4]

itk::ImageIORegion::ImageIORegion ( unsigned int  dimension)

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

◆ ImageIORegion() [2/4]

itk::ImageIORegion::ImageIORegion ( )

Constructor. ImageIORegion is a lightweight object that is not reference counted, so the constructor is public. Default dimension is 2.

◆ ~ImageIORegion()

itk::ImageIORegion::~ImageIORegion ( )

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

◆ ImageIORegion() [3/4]

itk::ImageIORegion::ImageIORegion ( const Self )

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

◆ ImageIORegion() [4/4]

itk::ImageIORegion::ImageIORegion ( Self &&  )

Move-constructor. Fast and non-throwing.

Member Function Documentation

◆ GetImageDimension()

unsigned int itk::ImageIORegion::GetImageDimension ( ) const

◆ GetIndex() [1/2]

const IndexType& itk::ImageIORegion::GetIndex ( ) const

Get index defining the corner of the region.

Referenced by itk::ImageIORegionAdaptor< VDimension >::Convert(), and itk::ImageRegionSplitterBase::GetNumberOfSplits().

◆ GetIndex() [2/2]

IndexValueType itk::ImageIORegion::GetIndex ( unsigned long  i) const

◆ GetModifiableIndex()

IndexType& itk::ImageIORegion::GetModifiableIndex ( )

Get index defining the corner of the region.

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

◆ GetModifiableSize()

SizeType& itk::ImageIORegion::GetModifiableSize ( )

Get the size of the region.

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

◆ GetNumberOfPixels()

SizeValueType itk::ImageIORegion::GetNumberOfPixels ( ) const

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

◆ GetRegionDimension()

unsigned int itk::ImageIORegion::GetRegionDimension ( ) const

Dimension of the region to be written. This differs from the the image dimension and is calculated at run-time by examining the size of the image in each coordinate direction.

◆ GetRegionType()

RegionType itk::ImageIORegion::GetRegionType ( ) const

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

Implements itk::Region.

◆ GetSize() [1/2]

const SizeType& itk::ImageIORegion::GetSize ( ) const

◆ GetSize() [2/2]

SizeValueType itk::ImageIORegion::GetSize ( unsigned long  i) const

Convenience methods to get the size of the image in a particular coordinate direction i. Do not try to access image sizes beyond the the ImageDimension.

◆ IsInside() [1/2]

bool itk::ImageIORegion::IsInside ( const IndexType index) const

Test if an index is inside

◆ IsInside() [2/2]

bool itk::ImageIORegion::IsInside ( const Self region) const

Test if a region (the argument) is completely inside of this region



◆ itkOverrideGetNameOfClassMacro()

itk::ImageIORegion::itkOverrideGetNameOfClassMacro ( ImageIORegion  )

Standard part of all itk objects.

◆ operator=() [1/2]

Self& itk::ImageIORegion::operator= ( const Self region)

Copy-assignment operator. ImageIORegion is a lightweight object that is not reference counted, so operator= is public.

◆ operator=() [2/2]

Self& itk::ImageIORegion::operator= ( Self &&  )

Move-assignment operator. Fast and non-throwing.

◆ operator==()

bool itk::ImageIORegion::operator== ( const Self region) const

Compare two regions.

◆ PrintSelf()

void itk::ImageIORegion::PrintSelf ( std::ostream &  os,
Indent  indent 
) const

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.

◆ SetIndex() [1/2]

void itk::ImageIORegion::SetIndex ( const IndexType index)

◆ SetIndex() [2/2]

void itk::ImageIORegion::SetIndex ( const unsigned long  i,
IndexValueType  idx 

◆ SetSize() [1/2]

void itk::ImageIORegion::SetSize ( const SizeType size)

Set the size of the region. This plus the index determines the rectangular shape, or extent, of the region.

Examples/IO/VisibleHumanPasteWrite.cxx, and SphinxExamples/src/IO/ImageBase/ProcessImageChunks/Code.cxx.

Referenced by itk::ImageIORegionAdaptor< VDimension >::Convert().

◆ SetSize() [2/2]

void itk::ImageIORegion::SetSize ( const unsigned long  i,
SizeValueType  size 

Member Data Documentation

◆ m_ImageDimension

unsigned int itk::ImageIORegion::m_ImageDimension { 2 }

Definition at line 185 of file itkImageIORegion.h.

◆ m_Index

IndexType itk::ImageIORegion::m_Index { IndexType(2) }

Definition at line 186 of file itkImageIORegion.h.

◆ m_Size

SizeType itk::ImageIORegion::m_Size { SizeType(2) }

Definition at line 187 of file itkImageIORegion.h.

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