3 #ifndef __bbgdcmvtkGetXCoherentInfoGdcmReader_h_INCLUDED__
4 #define __bbgdcmvtkGetXCoherentInfoGdcmReader_h_INCLUDED__
6 #include "bbgdcmvtk_EXPORT.h"
7 #include "bbtkAtomicBlackBox.h"
10 #include "vtkGdcmReader.h"
12 #include "gdcmSerieHelper.h"
17 class bbgdcmvtk_EXPORT GetXCoherentInfoGdcmReader
19 public bbtk::AtomicBlackBox
21 BBTK_BLACK_BOX_INTERFACE(GetXCoherentInfoGdcmReader,bbtk::AtomicBlackBox);
22 //==================================================================
23 /// User callback called in the box contructor
24 virtual void bbUserConstructor();
25 /// User callback called in the box copy constructor
26 virtual void bbUserCopyConstructor(bbtk::BlackBox::Pointer);
27 /// User callback called in the box destructor
28 virtual void bbUserDestructor();
29 //==================================================================
31 BBTK_DECLARE_INPUT(In, std::vector<std::string>);
32 BBTK_DECLARE_OUTPUT(Out, vtkImageData *);
33 BBTK_DECLARE_OUTPUT(IPP, std::vector<double>);
34 BBTK_DECLARE_OUTPUT(IOP, std::vector<double>);
35 BBTK_DECLARE_OUTPUT(PixelSpacing, std::vector<double>);
37 BBTK_PROCESS(Process);
41 GDCM_NAME_SPACE::File *f;
42 GDCM_NAME_SPACE::SerieHelper *sh;
43 vtkGdcmReader *reader;
46 //=================================================================
47 // UserBlackBox description
48 BBTK_BEGIN_DESCRIBE_BLACK_BOX(GetXCoherentInfoGdcmReader,bbtk::AtomicBlackBox);
49 BBTK_NAME("GetXCoherentInfoGdcmReader");
50 BBTK_AUTHOR("jpr, eduardo");
51 BBTK_DESCRIPTION("Get Dicom info from a File Set and read (as a vtkImageData)");
54 BBTK_INPUT(GetXCoherentInfoGdcmReader,In,"Dicom image file name",std::vector<std::string>,"");
56 BBTK_OUTPUT(GetXCoherentInfoGdcmReader,Out, "Output image", vtkImageData *,"");
57 BBTK_OUTPUT(GetXCoherentInfoGdcmReader,IPP, "Image Position (Patient)", std::vector<double>,"");
58 BBTK_OUTPUT(GetXCoherentInfoGdcmReader,IOP, "Image Orientation (Patient)", std::vector<double>,"");
59 BBTK_OUTPUT(GetXCoherentInfoGdcmReader,PixelSpacing,"Pixel Spacing", std::vector<double>,"");
60 BBTK_END_DESCRIBE_BLACK_BOX(GetXCoherentInfoGdcmReader);
61 } // EO namespace bbgdcmvtk
63 #endif // __bbgdcmvtkGetXCoherentInfoGdcmReader_h_INCLUDED__