Program: bbtk
Module: $RCSfile: bbitkImageSeriesReader.cxx,v $
Language: C++
- Date: $Date: 2008/11/26 10:13:32 $
- Version: $Revision: 1.7 $
+ Date: $Date: 2008/11/27 14:55:54 $
+ Version: $Revision: 1.8 $
=========================================================================*/
/* ---------------------------------------------------------------------
BBTK_ADD_BLACK_BOX_TO_PACKAGE(itk,ImageSeriesReader);
+ void ImageSeriesReader::bbUserConstructor()
+ {
+ bbSetInputXSpacing(-1.);
+ bbSetInputYSpacing(-1.);
+ bbSetInputZSpacing(-1.);
+ }
+
+ void ImageSeriesReader::bbUserCopyConstructor(bbtk::BlackBox::Pointer)
+ {
+ }
+
+ void ImageSeriesReader::bbUserDestructor()
+ {
+ }
+
void ImageSeriesReader::Read()
{
const std::vector<std::string>& filenames = bbGetInputFileNames();
genericReader->SetFileName(filename.c_str());
genericReader->ReadImageInformation();
+ // a stack of 2D images will result as a 3D image // JPRx
int plusUn;
if (filenames.size()>1)
plusUn = 1;
plusUn = 0;
bbtk::TypeInfo typ = GetITKImagePtrTypeInfoFromPixelTypeInfoAndDimension(genericReader->GetComponentTypeInfo(), genericReader->GetNumberOfDimensions() + plusUn);
+
BBTK_TEMPLATE_ITK_IMAGE_SWITCH(typ,Read);
bbtkError("could not read image series : "<<e.what());
}
+ // JPRx
+ typename itkImageType::SpacingType spacingJPRx;
+
+ bool spacingToBeSet = false;
+ if (bbGetInputXSpacing() > 0.)
+ {
+ spacingToBeSet = true;
+ spacingJPRx[0]= bbGetInputXSpacing();
+ }
+ if (bbGetInputYSpacing() > 0.)
+ {
+ spacingToBeSet = true;
+ spacingJPRx[1]= bbGetInputYSpacing();
+ }
+ if (bbGetInputZSpacing() > 0.)
+ {
+ spacingToBeSet = true;
+ spacingJPRx[2]= bbGetInputZSpacing();
+ }
+ if (spacingToBeSet)
+ reader->GetOutput()->SetSpacing(spacingJPRx);
+ // JPRx
+
reader->GetOutput()->Register();
// if (bbGetOutputOut())
bbSetOutputOut ( reader->GetOutput() );