open_iA 2023.02
A tool for the visual analysis and processing of volumetric datasets, with a focus on industrial computed tomography.
Loading...
Searching...
No Matches
Classes | Functions
iAToolsITK.h File Reference
#include "iAFileUtils.h"
#include "iALog.h"
#include "iAITKIO.h"
#include "iAbase_export.h"
#include <itkCastImageFilter.h>
#include <itkChangeInformationImageFilter.h>
#include <itkImageFileReader.h>
#include <itkImageFileWriter.h>
#include <itkImageRegionConstIterator.h>
#include <itkImageRegionIterator.h>
#include <itkRescaleIntensityImageFilter.h>
#include <QString>

Classes

struct  iAITKTypeMapper< T >
 
struct  iAITKTypeMapper< char >
 
struct  iAITKTypeMapper< double >
 
struct  iAITKTypeMapper< float >
 
struct  iAITKTypeMapper< int >
 
struct  iAITKTypeMapper< long >
 
struct  iAITKTypeMapper< long long >
 
struct  iAITKTypeMapper< short >
 
struct  iAITKTypeMapper< unsigned char >
 
struct  iAITKTypeMapper< unsigned int >
 
struct  iAITKTypeMapper< unsigned long >
 
struct  iAITKTypeMapper< unsigned long long >
 
struct  iAITKTypeMapper< unsigned short >
 

Functions

iAbase_API iAITKIO::ImagePointer allocateImage (iAITKIO::ImagePointer img)
 
iAbase_API iAITKIO::ImagePointer allocateImage (int const size[iAITKIO::Dim], double const spacing[iAITKIO::Dim], iAITKIO::ScalarType scalarType)
 
template<typename ResultPixelType >
iAITKIO::ImagePointer castImageTo (iAITKIO::ImagePointer img)
 Cast pixel type of image to given ResultPixelType.
 
template<typename TImage >
TImage::Pointer createImage (typename TImage::Pointer otherImg)
 
template<typename TImage >
TImage::Pointer createImage (typename TImage::SizeType size, typename TImage::SpacingType spacing)
 
template<typename TImage >
void deepCopy (typename TImage::Pointer input, typename TImage::Pointer output)
 Source: http://itk.org/Wiki/ITK/Examples/Utilities/DeepCopy.
 
iAbase_API iAITKIO::ImagePointer extractImage (iAITKIO::ImagePointer inImg, size_t const indexArr[iAITKIO::Dim], size_t const sizeArr[iAITKIO::Dim])
 extract part of an image as a new file
 
iAbase_API void getStatistics (iAITKIO::ImagePointer img, double *min, double *max=nullptr, double *mean=nullptr, double *stddev=nullptr, double *variance=nullptr, double *sum=nullptr)
 
template<typename SourceImageType , typename ResultImageType >
iAITKIO::ImagePointer internalCastImageTo (iAITKIO::ImagePointer img)
 
template<typename SourceImageType , typename ResultImageType >
iAITKIO::ImagePointer internalRescaleImageTo (iAITKIO::ImagePointer img, double min, double max)
 
iAbase_API iAITKIO::PixelType itkPixelType (iAITKIO::ImagePointer image)
 
iAbase_API iAITKIO::ScalarType itkScalarType (iAITKIO::ImagePointer image)
 
iAbase_API itk::Index< 3 > mapWorldCoordsToIndex (iAITKIO::ImagePointer img, double const *worldCoord)
 Translate from world coordinates to voxel coordinates for the given image.
 
iAbase_API void mapWorldToVoxelCoords (iAITKIO::ImagePointer img, double const *worldCoord, double *voxelCoord)
 Translate from world coordinates to voxel coordinates for the given image.
 
template<typename ResultPixelType >
iAITKIO::ImagePointer rescaleImageTo (iAITKIO::ImagePointer img, double min, double max)
 
template<typename T >
itk::Image< T, iAITKIO::Dim >::Pointer setIndexOffsetToZero (typename itk::Image< T, iAITKIO::Dim >::Pointer inImg)
 set index offset of an image to (0,0,0)
 
iAbase_API void storeImage (iAITKIO::ImagePtr image, QString const &filename, bool useCompression, iAProgress const *p=nullptr)
 
template<typename TImage >
void storeImageOfType (TImage *image, QString const &filename, bool useCompression=true)
 
iAbase_API double itkPixel (iAITKIO::ImagePointer img, iAITKIO::ImageBaseType::IndexType idx)
 
iAbase_API void setITKPixel (iAITKIO::ImagePointer img, iAITKIO::ImageBaseType::IndexType idx, double value)
 

Function Documentation

◆ allocateImage() [1/2]

iAbase_API iAITKIO::ImagePointer allocateImage ( iAITKIO::ImagePointer  img)

◆ allocateImage() [2/2]

iAbase_API iAITKIO::ImagePointer allocateImage ( int const  size[iAITKIO::Dim],
double const  spacing[iAITKIO::Dim],
iAITKIO::ScalarType  scalarType 
)

◆ castImageTo()

template<typename ResultPixelType >
iAITKIO::ImagePointer castImageTo ( iAITKIO::ImagePointer  img)

Cast pixel type of image to given ResultPixelType.

If input image already has that pixel type, the given input image is returned.

◆ createImage() [1/2]

template<typename TImage >
TImage::Pointer createImage ( typename TImage::Pointer  otherImg)

◆ createImage() [2/2]

template<typename TImage >
TImage::Pointer createImage ( typename TImage::SizeType  size,
typename TImage::SpacingType  spacing 
)

◆ deepCopy()

template<typename TImage >
void deepCopy ( typename TImage::Pointer  input,
typename TImage::Pointer  output 
)

◆ extractImage()

iAbase_API iAITKIO::ImagePointer extractImage ( iAITKIO::ImagePointer  inImg,
size_t const  indexArr[iAITKIO::Dim],
size_t const  sizeArr[iAITKIO::Dim] 
)

extract part of an image as a new file

◆ getStatistics()

iAbase_API void getStatistics ( iAITKIO::ImagePointer  img,
double *  min,
double *  max = nullptr,
double *  mean = nullptr,
double *  stddev = nullptr,
double *  variance = nullptr,
double *  sum = nullptr 
)

◆ internalCastImageTo()

template<typename SourceImageType , typename ResultImageType >
iAITKIO::ImagePointer internalCastImageTo ( iAITKIO::ImagePointer  img)

◆ internalRescaleImageTo()

template<typename SourceImageType , typename ResultImageType >
iAITKIO::ImagePointer internalRescaleImageTo ( iAITKIO::ImagePointer  img,
double  min,
double  max 
)

◆ itkPixel()

iAbase_API double itkPixel ( iAITKIO::ImagePointer  img,
iAITKIO::ImageBaseType::IndexType  idx 
)

Generic access to pixels of any ITK image as double. Slow! If you need to access more than a few pixels, convert the whole image first (maybe using templates) and then access directly!

◆ itkPixelType()

iAbase_API iAITKIO::PixelType itkPixelType ( iAITKIO::ImagePointer  image)

◆ itkScalarType()

iAbase_API iAITKIO::ScalarType itkScalarType ( iAITKIO::ImagePointer  image)

◆ mapWorldCoordsToIndex()

iAbase_API itk::Index< 3 > mapWorldCoordsToIndex ( iAITKIO::ImagePointer  img,
double const *  worldCoord 
)

Translate from world coordinates to voxel coordinates for the given image.

Parameters
imgan ITK image
worldCoordworld (=scene) coordinates (3 components: x, y, z)
Returns
voxel coordinates in the given image for the given world coordinates (clamped)

◆ mapWorldToVoxelCoords()

iAbase_API void mapWorldToVoxelCoords ( iAITKIO::ImagePointer  img,
double const *  worldCoord,
double *  voxelCoord 
)

Translate from world coordinates to voxel coordinates for the given image.

Parameters
imgan ITK image
worldCoordworld (=scene) coordinates (3 components: x, y, z)
voxelCoordplace for storing the 3 components of the voxel coordinates

◆ rescaleImageTo()

template<typename ResultPixelType >
iAITKIO::ImagePointer rescaleImageTo ( iAITKIO::ImagePointer  img,
double  min,
double  max 
)

◆ setIndexOffsetToZero()

template<typename T >
itk::Image< T, iAITKIO::Dim >::Pointer setIndexOffsetToZero ( typename itk::Image< T, iAITKIO::Dim >::Pointer  inImg)

set index offset of an image to (0,0,0)

◆ setITKPixel()

iAbase_API void setITKPixel ( iAITKIO::ImagePointer  img,
iAITKIO::ImageBaseType::IndexType  idx,
double  value 
)

◆ storeImage()

iAbase_API void storeImage ( iAITKIO::ImagePtr  image,
QString const &  filename,
bool  useCompression,
iAProgress const *  p = nullptr 
)

◆ storeImageOfType()

template<typename TImage >
void storeImageOfType ( TImage *  image,
QString const &  filename,
bool  useCompression = true 
)