18void GetImageType(std::string fileName, IOPixelEnum& pixelType, IOComponentEnum& componentType)
20 using ImageType = itk::Image<unsigned char, 3>;
21 using ReaderType = itk::ImageFileReader<ImageType>;
22 ReaderType::Pointer imageReader = ReaderType::New();
23 imageReader->SetFileName(fileName);
24 imageReader->UpdateOutputInformation();
26 pixelType = imageReader->GetImageIO()->GetPixelType();
27 componentType = imageReader->GetImageIO()->GetComponentType();
32void GetImageTypes(std::vector<std::string> fileNames, std::vector<IOPixelEnum>& pixelTypes, std::vector<IOComponentEnum>& componentTypes)
35 componentTypes.clear();
38 for (std::vector<std::string>::size_type i = 0; i < fileNames.size(); i++)
40 IOPixelEnum pixelType;
41 IOComponentEnum componentType;
44 pixelTypes.push_back(pixelType);
45 componentTypes.push_back(componentType);
54 typename T::PointType fixedCenter;
56 itk::ContinuousIndex<double, T::ImageDimension> centerIndex;
57 typename T::SizeType size = fixed->GetLargestPossibleRegion().GetSize();
58 for (
unsigned int i = 0; i < T::ImageDimension; i++)
60 centerIndex[i] =
static_cast<double>((size[i] - 1) / 2.0);
62 fixed->TransformContinuousIndexToPhysicalPoint(centerIndex, fixedCenter);
66 typename T::PointType movingCenter;
68 itk::ContinuousIndex<double, T::ImageDimension> centerIndex;
69 typename T::SizeType size = moving->GetLargestPossibleRegion().GetSize();
70 for (
unsigned i = 0; i < T::ImageDimension; i++)
72 centerIndex[i] =
static_cast<double>((size[i] - 1) / 2.0);
74 moving->TransformContinuousIndexToPhysicalPoint(centerIndex, movingCenter);
77 for (
unsigned int j = 0; j < fixedCenter.Size(); j++)
79 origin[j] = moving->GetOrigin()[j] - (movingCenter[j] - fixedCenter[j]);
void GetImageTypes(std::vector< std::string > fileNames, std::vector< IOPixelEnum > &pixelTypes, std::vector< IOComponentEnum > &componentTypes)
Get the PixelTypes and ComponentTypes from fileNames.