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);
23 BBTK_DECLARE_INPUT(In, std::vector<std::string>);
24 BBTK_DECLARE_INPUT(IPPSort, bool);
26 BBTK_DECLARE_OUTPUT(Out, vtkImageData *);
27 BBTK_DECLARE_OUTPUT(IPP, std::vector<double>);
28 BBTK_DECLARE_OUTPUT(IOP, std::vector<double>);
29 BBTK_DECLARE_OUTPUT(PixelSpacing, std::vector<double>);
31 BBTK_PROCESS(Process);
35 GDCM_NAME_SPACE::File *f;
36 GDCM_NAME_SPACE::SerieHelper *sh;
37 vtkGdcmReader *reader;
40 //=================================================================
41 // UserBlackBox description
42 BBTK_BEGIN_DESCRIBE_BLACK_BOX(GetXCoherentInfoGdcmReader,bbtk::AtomicBlackBox);
43 BBTK_NAME("GetXCoherentInfoGdcmReader");
44 BBTK_AUTHOR("jpr, eduardo");
45 BBTK_DESCRIPTION("Get Dicom info from a File Set (a list of Dicom image file names) and read (as a vtkImageData)");
48 BBTK_INPUT(GetXCoherentInfoGdcmReader,In, "List of Dicom image file names", std::vector<std::string>,"");
49 BBTK_INPUT(GetXCoherentInfoGdcmReader,IPPSort,"Sort on Image Position Patient",bool,"");
51 BBTK_OUTPUT(GetXCoherentInfoGdcmReader,Out, "Output image", vtkImageData *,"");
52 BBTK_OUTPUT(GetXCoherentInfoGdcmReader,IPP, "Image Position (Patient)", std::vector<double>,"");
53 BBTK_OUTPUT(GetXCoherentInfoGdcmReader,IOP, "Image Orientation (Patient)", std::vector<double>,"");
54 BBTK_OUTPUT(GetXCoherentInfoGdcmReader,PixelSpacing,"Pixel Spacing", std::vector<double>,"");
55 BBTK_END_DESCRIBE_BLACK_BOX(GetXCoherentInfoGdcmReader);
56 } // EO namespace bbgdcmvtk
58 #endif // __bbgdcmvtkGetXCoherentInfoGdcmReader_h_INCLUDED__