ITK
6.0.0
Insight Toolkit
|
#include <itkImageRegion.h>
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.)
Definition at line 80 of file itkImageRegion.h.
Public Types | |
using | IndexType = Index< VImageDimension > |
using | IndexValueArrayType = IndexValueType[ImageDimension] |
using | IndexValueType = typename IndexType::IndexValueType |
using | OffsetTableType = OffsetValueType[ImageDimension+1] |
using | OffsetType = typename IndexType::OffsetType |
using | OffsetValueType = typename OffsetType::OffsetValueType |
using | Self = ImageRegion |
using | SizeType = Size< VImageDimension > |
using | SizeValueType = typename SizeType::SizeValueType |
using | SliceRegion = ImageRegion< Self::SliceDimension > |
Public Member Functions | |
void | ComputeOffsetTable (OffsetTableType offsetTable) const |
bool | Crop (const Self ®ion) |
const char * | GetNameOfClass () const itkRegionOverrideMacro |
SizeValueType | GetNumberOfPixels () const |
Region::RegionEnum | GetRegionType () const itkRegionOverrideMacro |
IndexType | GetUpperIndex () const |
ImageRegion () noexcept=default | |
ImageRegion (const IndexType &index, const SizeType &size) noexcept | |
ImageRegion (const Self &) noexcept=default | |
ImageRegion (const SizeType &size) noexcept | |
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION (Self) | |
Self & | operator= (const Self &) noexcept=default |
bool | operator== (const Self ®ion) const noexcept |
void | PadByRadius (const IndexValueArrayType radius) |
void | PadByRadius (const SizeType &radius) |
void | PadByRadius (OffsetValueType radius) |
void | Print (std::ostream &os, Indent indent=0) const itkRegionOverrideMacro |
void | SetIndex (const IndexType &index) |
void | SetSize (const SizeType &size) |
void | SetUpperIndex (const IndexType &idx) |
bool | ShrinkByRadius (const IndexValueArrayType radius) |
bool | ShrinkByRadius (const SizeType &radius) |
bool | ShrinkByRadius (OffsetValueType radius) |
SliceRegion | Slice (const unsigned int dim) const |
~ImageRegion () itkRegionOverrideMacro=default | |
const IndexType & | GetIndex () const |
IndexType & | GetModifiableIndex () |
const SizeType & | GetSize () const |
SizeType & | GetModifiableSize () |
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 | IsInside (const IndexType &index) const |
template<typename TCoordinateType > | |
bool | IsInside (const ContinuousIndex< TCoordinateType, VImageDimension > &index) const |
bool | IsInside (const Self &otherRegion) const |
template<vcl_size_t VTupleIndex> | |
auto & | get () |
template<vcl_size_t VTupleIndex> | |
const auto & | get () const |
Static Public Member Functions | |
static constexpr unsigned int | GetImageDimension () |
Static Public Attributes | |
static constexpr unsigned int | ImageDimension = VImageDimension |
static constexpr unsigned int | SliceDimension = ImageDimension - (ImageDimension > 1) |
Protected Member Functions | |
void | PrintSelf (std::ostream &os, Indent indent) const itkRegionOverrideMacro |
Private Attributes | |
IndexType | m_Index = { { 0 } } |
SizeType | m_Size = { { 0 } } |
Friends | |
class | ImageBase< VImageDimension > |
using itk::ImageRegion< VImageDimension >::IndexType = Index<VImageDimension> |
Index type alias support An index is used to access pixel values.
Definition at line 116 of file itkImageRegion.h.
using itk::ImageRegion< VImageDimension >::IndexValueArrayType = IndexValueType[ImageDimension] |
Definition at line 120 of file itkImageRegion.h.
using itk::ImageRegion< VImageDimension >::IndexValueType = typename IndexType::IndexValueType |
Definition at line 117 of file itkImageRegion.h.
using itk::ImageRegion< VImageDimension >::OffsetTableType = OffsetValueType[ImageDimension + 1] |
Definition at line 121 of file itkImageRegion.h.
using itk::ImageRegion< VImageDimension >::OffsetType = typename IndexType::OffsetType |
Definition at line 118 of file itkImageRegion.h.
using itk::ImageRegion< VImageDimension >::OffsetValueType = typename OffsetType::OffsetValueType |
Definition at line 119 of file itkImageRegion.h.
using itk::ImageRegion< VImageDimension >::Self = ImageRegion |
Standard class type aliases.
Definition at line 88 of file itkImageRegion.h.
using itk::ImageRegion< VImageDimension >::SizeType = Size<VImageDimension> |
Size type alias support A size is used to define region bounds.
Definition at line 124 of file itkImageRegion.h.
using itk::ImageRegion< VImageDimension >::SizeValueType = typename SizeType::SizeValueType |
Definition at line 125 of file itkImageRegion.h.
using itk::ImageRegion< VImageDimension >::SliceRegion = ImageRegion<Self::SliceDimension> |
Slice region type alias. SliceRegion is one dimension less than Self.
Definition at line 128 of file itkImageRegion.h.
|
defaultnoexcept |
Constructor. ImageRegion is a lightweight object that is not reference counted, so the constructor is public. Its two data members are filled with zeros (using C++11 default member initializers).
|
default |
Destructor. ImageRegion is a lightweight object that is not reference counted, so the destructor is public.
|
defaultnoexcept |
Copy constructor. ImageRegion is a lightweight object that is not reference counted, so the copy constructor is public.
|
inlinenoexcept |
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 157 of file itkImageRegion.h.
|
inlinenoexcept |
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 168 of file itkImageRegion.h.
void itk::ImageRegion< VImageDimension >::ComputeOffsetTable | ( | OffsetTableType | offsetTable | ) | const |
Compute an offset table based on the Size.
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.
|
inline |
Supports tuple-like access: get<0>()
returns a reference to the index and get<1>()
returns a reference to the size of the region.
Definition at line 375 of file itkImageRegion.h.
|
inline |
Supports tuple-like access. Const overload.
Definition at line 392 of file itkImageRegion.h.
|
inlinestaticconstexpr |
Dimension of the image available at compile-time and at run time.
Definition at line 110 of file itkImageRegion.h.
|
inline |
Get index defining the corner of the region.
Definition at line 188 of file itkImageRegion.h.
Referenced by itk::ImageIORegionAdaptor< VDimension >::Convert(), itk::ImageToImageFilterDetail::ExtractImageFilterCopyRegion(), itk::ImageRegionSplitterBase::GetNumberOfSplits(), itk::ImageToImageFilterDetail::ImageToImageFilterDefaultCopyRegion(), itk::MultiThreaderBase::ParallelizeImageRegion(), and itk::MultiThreaderBase::ParallelizeImageRegionRestrictDirection().
|
inline |
Convenience methods to get and set the index of the particular dimension i.
Definition at line 242 of file itkImageRegion.h.
|
inline |
Get index defining the corner of the region.
Definition at line 193 of file itkImageRegion.h.
Referenced by itk::ImageRegionSplitterBase::GetSplit().
|
inline |
Get the size of the region.
Definition at line 214 of file itkImageRegion.h.
Referenced by itk::ImageRegionSplitterBase::GetSplit().
|
inline |
Standard part of all itk objects.
Definition at line 96 of file itkImageRegion.h.
SizeValueType itk::ImageRegion< VImageDimension >::GetNumberOfPixels | ( | ) | const |
Get the number of pixels contained in this region. This just multiplies the size components.
Referenced by itk::MultiThreaderBase::ParallelizeImageRegionRestrictDirection().
|
inline |
Return the region type. Images are described with structured regions.
Definition at line 132 of file itkImageRegion.h.
|
inline |
Get the size of the region.
Definition at line 209 of file itkImageRegion.h.
Referenced by itk::ImageIORegionAdaptor< VDimension >::Convert(), itk::ImageToImageFilterDetail::ExtractImageFilterCopyRegion(), itk::testhelper::ImageRegistrationMethodImageSource< TFixedPixelType, TMovingPixelType, VDimension >::GenerateImages(), itk::ImageRegionSplitterBase::GetNumberOfSplits(), itk::ImageToImageFilterDetail::ImageToImageFilterDefaultCopyRegion(), itk::MultiThreaderBase::ParallelizeImageRegion(), itk::MultiThreaderBase::ParallelizeImageRegionRestrictDirection(), itk::ScanlineFilterCommon< TInputImage, TOutputImage >::SetupLineOffsets(), itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::TransformContinuousIndexToPhysicalPoint(), itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::TransformIndexToPhysicalPoint(), itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::TransformPhysicalPointToContinuousIndex(), and itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::TransformPhysicalPointToIndex().
|
inline |
Convenience methods to get and set the size of the particular dimension i.
Definition at line 228 of file itkImageRegion.h.
IndexType itk::ImageRegion< VImageDimension >::GetUpperIndex | ( | ) | const |
Get index defining the upper corner of the region.
|
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, inclusive on all sides.
Definition at line 290 of file itkImageRegion.h.
|
inline |
Test if an index is inside
Definition at line 271 of file itkImageRegion.h.
|
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 310 of file itkImageRegion.h.
itk::ImageRegion< VImageDimension >::ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION | ( | Self | ) |
|
defaultnoexcept |
operator=. ImageRegion is a lightweight object that is not reference counted, so operator= is public.
|
inlinenoexcept |
Compare two regions.
Definition at line 262 of file itkImageRegion.h.
void itk::ImageRegion< VImageDimension >::PadByRadius | ( | const IndexValueArrayType | radius | ) |
void itk::ImageRegion< VImageDimension >::PadByRadius | ( | const SizeType & | radius | ) |
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.
void itk::ImageRegion< VImageDimension >::Print | ( | std::ostream & | os, |
Indent | indent = 0 |
||
) | const |
Print the region.
|
protected |
|
inline |
Set the index defining the corner of the region.
Definition at line 181 of file itkImageRegion.h.
Referenced by itk::BoxMeanCalculatorFunction(), itk::BoxSigmaCalculatorFunction(), itk::ImageIORegionAdaptor< VDimension >::Convert(), itk::ImageToImageFilterDetail::ExtractImageFilterCopyRegion(), itk::ImageToImageFilterDetail::ImageToImageFilterDefaultCopyRegion(), and itk::MultiThreaderBase::ParallelizeImageRegion().
|
inline |
Convenience methods to get and set the index of the particular dimension i.
Definition at line 237 of file itkImageRegion.h.
|
inline |
Set the size of the region. This plus the index determines the rectangular shape, or extent, of the region.
Definition at line 202 of file itkImageRegion.h.
Referenced by itk::BoxMeanCalculatorFunction(), itk::BoxSigmaCalculatorFunction(), itk::ImageIORegionAdaptor< VDimension >::Convert(), itk::ImageToImageFilterDetail::ExtractImageFilterCopyRegion(), itk::ImageToImageFilterDetail::ImageToImageFilterDefaultCopyRegion(), itk::MultiThreaderBase::ParallelizeImageRegion(), and itk::ImageBase< TImage::ImageDimension >::SetRegions().
|
inline |
Convenience methods to get and set the size of the particular dimension i.
Definition at line 223 of file itkImageRegion.h.
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.
bool itk::ImageRegion< VImageDimension >::ShrinkByRadius | ( | const IndexValueArrayType | radius | ) |
bool itk::ImageRegion< VImageDimension >::ShrinkByRadius | ( | const SizeType & | radius | ) |
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 shrink by different amounts in each direction. If the shrink operation fails because the radius is too large, this method returns false.
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.
|
friend |
Friends of ImageRegion
Definition at line 419 of file itkImageRegion.h.
|
staticconstexpr |
Dimension of the image available at compile time.
Definition at line 102 of file itkImageRegion.h.
|
private |
Definition at line 415 of file itkImageRegion.h.
Referenced by itk::ImageRegion< VDimension >::IsInside().
|
private |
Definition at line 416 of file itkImageRegion.h.
Referenced by itk::ImageRegion< VDimension >::IsInside().
|
staticconstexpr |
Dimension one lower than the image unless the image is one dimensional in which case the SliceDimension is also one dimensional.
Definition at line 106 of file itkImageRegion.h.