/*========================================================================= Program: bbtk Module: $RCSfile: bbitkImageSeriesReader.cxx,v $ Language: C++ Date: $Date: 2008/05/16 14:03:19 $ Version: $Revision: 1.4 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or http://www.creatis.insa-lyon.fr/Public/bbtk/License.html for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ /** * \file * \brief */ #ifdef _USE_ITK_ #include "bbitkImageSeriesReader.h" #include "bbitkPackage.h" #include "itkImageSeriesReader.h" namespace bbitk { BBTK_BLACK_BOX_IMPLEMENTATION(ImageSeriesReader,bbtk::AtomicBlackBox); BBTK_ADD_BLACK_BOX_TO_PACKAGE(itk,ImageSeriesReader); void ImageSeriesReader::Read() { const std::vector& filenames = bbGetInputFileNames(); if (!filenames.size()) { typedef Image_uint8_t_2_ptr itype; Image_uint8_t_2::Pointer p = Image_uint8_t_2::New(); Image_uint8_t_2::IndexType i; i.Fill(0); Image_uint8_t_2::SizeType s; s.Fill(1); Image_uint8_t_2::RegionType r(i,s); p->SetRegions(r); p->Allocate(); p->Register(); bbSetOutputOut(p.GetPointer()); return; //bbtkError("Void vector passed to "<SetFileName(filename.c_str()); genericReader->ReadImageInformation(); bbtk::TypeInfo typ = GetITKImagePtrTypeInfoFromPixelTypeInfoAndDimension(genericReader->GetComponentTypeInfo(), genericReader->GetNumberOfDimensions()); BBTK_TEMPLATE_ITK_IMAGE_SWITCH(typ,Read); } /** Template Processing */ template void ImageSeriesReader::Read() { bbtkDebugMessageInc("Core",9,"bbitk::ImageSeriesReader<" <() <<">::Read()"< itkReaderType; typename itkReaderType::Pointer reader = itkReaderType::New(); const std::vector& filenames = bbGetInputFileNames(); reader->SetFileNames(filenames); try { reader->Update(); } catch( std::exception& e ) { bbtkError("could not read image series : "<GetOutput()->Register(); // if (bbGetOutputOut()) bbSetOutputOut ( reader->GetOutput() ); bbtkDebugDecTab("Core",9); } } // eo namespace bbtk #endif