3 #ifndef __bbgdcmvtkGetInfoGdcmReader_h_INCLUDED__
4 #define __bbgdcmvtkGetInfoGdcmReader_h_INCLUDED__
6 #include "bbgdcmvtk_EXPORT.h"
7 #include "bbtkAtomicBlackBox.h"
11 #include "vtkGdcmReader.h"
14 #include "vtkGDCMImageReader.h"
20 class bbgdcmvtk_EXPORT GetInfoGdcmReader
22 public bbtk::AtomicBlackBox
24 BBTK_BLACK_BOX_INTERFACE(GetInfoGdcmReader,bbtk::AtomicBlackBox);
26 BBTK_DECLARE_INPUT(In, std::string);
27 BBTK_DECLARE_OUTPUT(Out, vtkImageData *);
28 BBTK_DECLARE_OUTPUT(IPP, std::vector<double>);
29 BBTK_DECLARE_OUTPUT(IOP, std::vector<double>);
30 BBTK_DECLARE_OUTPUT(PixelSpacing, std::vector<double>);
31 BBTK_DECLARE_OUTPUT(InterSlice, double);
33 BBTK_PROCESS(Process);
38 GDCM_NAME_SPACE::File *f;
39 vtkGdcmReader *reader;
42 vtkGDCMImageReader *reader;
48 //=================================================================
49 // UserBlackBox description
50 BBTK_BEGIN_DESCRIBE_BLACK_BOX(GetInfoGdcmReader,bbtk::AtomicBlackBox);
51 BBTK_NAME("GetInfoGdcmReader");
52 BBTK_AUTHOR("jpr, eduardo");
53 BBTK_DESCRIPTION("Get Dicom info (for a single File) and read (as a vtkImageData)");
56 BBTK_INPUT(GetInfoGdcmReader,In, "Dicom image file name", std::string,"");
58 BBTK_OUTPUT(GetInfoGdcmReader,Out, "Output image", vtkImageData *,"");
59 BBTK_OUTPUT(GetInfoGdcmReader,IPP, "Image Position (Patient)", std::vector<double>,"");
60 BBTK_OUTPUT(GetInfoGdcmReader,IOP, "Image Orientation (Patient)", std::vector<double>,"");
61 BBTK_OUTPUT(GetInfoGdcmReader,PixelSpacing,"Pixel Spacing", std::vector<double>,"");
62 BBTK_OUTPUT(GetInfoGdcmReader,InterSlice, "InterSlice", double,"");
63 BBTK_END_DESCRIBE_BLACK_BOX(GetInfoGdcmReader);
64 } // EO namespace bbgdcmvtk
66 #endif // __bbgdcmvtkGetInfoGdcmReader_h_INCLUDED__