]> Creatis software - bbtk.git/blob - packages/gdcmvtk/src/bbgdcmvtkGetInfoGdcmReader.h
d5dd7a08c57910e2ffe57464105bf353fb9242e3
[bbtk.git] / packages / gdcmvtk / src / bbgdcmvtkGetInfoGdcmReader.h
1 #ifdef _USE_VTK_
2
3 #ifndef __bbgdcmvtkGetInfoGdcmReader_h_INCLUDED__
4 #define __bbgdcmvtkGetInfoGdcmReader_h_INCLUDED__
5
6 #include "bbgdcmvtk_EXPORT.h"
7 #include "bbtkAtomicBlackBox.h"
8 #include "iostream"
9
10 #include "vtkGdcmReader.h"
11
12 namespace bbgdcmvtk
13 {
14
15 class bbgdcmvtk_EXPORT GetInfoGdcmReader
16  : 
17    public bbtk::AtomicBlackBox
18 {
19   BBTK_BLACK_BOX_INTERFACE(GetInfoGdcmReader,bbtk::AtomicBlackBox);
20
21   BBTK_DECLARE_INPUT(In,            std::string);
22   BBTK_DECLARE_OUTPUT(Out,          vtkImageData *);
23   BBTK_DECLARE_OUTPUT(IPP,          std::vector<double>);
24   BBTK_DECLARE_OUTPUT(IOP,          std::vector<double>);
25   BBTK_DECLARE_OUTPUT(PixelSpacing, std::vector<double>);
26   BBTK_DECLARE_OUTPUT(InterSlice,   double);
27        
28   BBTK_PROCESS(Process);
29   void Process();
30   
31   private:
32      GDCM_NAME_SPACE::File *f;
33      vtkGdcmReader *reader;
34 };
35
36   //=================================================================
37   // UserBlackBox description
38 BBTK_BEGIN_DESCRIBE_BLACK_BOX(GetInfoGdcmReader,bbtk::AtomicBlackBox);
39 BBTK_NAME("GetInfoGdcmReader");
40 BBTK_AUTHOR("jpr, eduardo");
41 BBTK_DESCRIPTION("Get Dicom info and read (as a vtkImageData)");
42 BBTK_CATEGORY("");
43
44 BBTK_INPUT(GetInfoGdcmReader,In,           "Dicom image file name",       std::string,"");
45
46 BBTK_OUTPUT(GetInfoGdcmReader,Out,         "Output image",                vtkImageData *,"");
47 BBTK_OUTPUT(GetInfoGdcmReader,IPP,         "Image Position (Patient)",    std::vector<double>,"");
48 BBTK_OUTPUT(GetInfoGdcmReader,IOP,         "Image Orientation (Patient)", std::vector<double>,"");
49 BBTK_OUTPUT(GetInfoGdcmReader,PixelSpacing,"Pixel Spacing",               std::vector<double>,"");
50 BBTK_OUTPUT(GetInfoGdcmReader,InterSlice,  "InterSlice",                  double,"");
51 BBTK_END_DESCRIBE_BLACK_BOX(GetInfoGdcmReader);
52 } // EO namespace bbgdcmvtk
53
54 #endif // __bbgdcmvtkGetInfoGdcmReader_h_INCLUDED__
55
56 #endif //_USE_VTK_