]> Creatis software - creaImageIO.git/blob - bbtk/src/bbcreaImageIOGimmick.xml_v2
5d2cd547ee65489b38eb2b2348e75c0c80315aaa
[creaImageIO.git] / bbtk / src / bbcreaImageIOGimmick.xml_v2
1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <!--==========================================================================
3    STARTS THE DESCRIPTION OF THE BLACK BOX -->
4 <blackbox name="Gimmick">
5  <!--========================================================================
6     THE BOX DOCUMENTATION -->
7   <author>laurent.guigues@creatis.insa-lyon.fr</author>
8   <description>Gimmick! (Gimme my medical images quick!) is a medical image reader widget. It handles DICOM,jpg,tif,png,bmp and mhd. Images read are stored in sqlite3 databases and thus retrieved very quick next time. Screenshot : <img src=Gimmick1.jpg></img>"</description>
9   <category>image;reader;dicom</category>
10
11 <!--========================================================================
12     #include directives to be put in the .h generated
13     There must be one tag per file to include -->
14 <include>creaImageIOWxGimmickReaderDialog.h</include>
15  <!--========================================================================
16     INPUTS/OUTPUTS DECLARATION -->
17
18   <input name="Title"                type="std::string" description="Title of the dialog"/>
19   <input name="ImageMinDimension"    type="int"         description="The minimal dimensionality of the image to be selected, e.g. 2 for a 2D image, 3 for a 3D image,..."/>
20   <input name="ImageMaxDimension"    type="int"         description="The maximal dimensionality of the image to be selected, e.g. 2 for a 2D image, 3 for a 3D image,..."/>
21   <input name="ImageOutputDimension" type="int"         description="The dimensionality of the output image, e.g. 2 for a 2D image, 3 for a 3D image,..."/>
22   <input name="Output"               type="int"         description="What to output ? 0(default)=image and filenames/1=only filenames"/>
23
24   <typedef><PRE>typedef std::vector<std::string>   OutputFilesType; </PRE></typedef>
25   <typedef><PRE>typedef std::vector<vtkImageData*> OutputImagesType;</PRE></typedef>
26
27  <output name="Out"   type="vtkImageData*"    description="The first selected image"/>
28  <output name="Out2"  type="OutputImagesType" description="The selected images"/>
29  <output name="Files" type="OutputFilesType"  description="The selected files"/>
30  
31  <!--========================================================================
32     PROCESS section -->
33
34   <process><PRE>
35    int threads = 1;
36
37    creaImageIO::WxGimmickReaderDialog w(0,
38                                   -1,
39                                   crea::std2wx(bbGetInputTitle()),
40                                   wxDefaultPosition,
41                                   wxSize(1200,800),
42                                   bbGetInputImageMinDimension(),
43                                   bbGetInputImageMaxDimension(),
44                                   bbGetInputImageOutputDimension(),
45                                   threads);
46    w.ShowModal();
47    
48    if (w.GetReturnCode() == wxID_OK)
49      {
50        if (bbGetInputOutput()==0) 
51          {
52            std::vector<vtkImageData*> images;
53            w.GetSelectedImages(images,bbGetInputImageOutputDimension());
54            bbSetOutputOut(images[0]);
55            bbSetOutputOut2(images);
56          }
57        std::vector<std::string> files;
58        w.GetSelectedFiles(files);
59        bbSetOutputFiles(files);
60      }
61    else if (w.GetReturnCode() == wxID_CANCEL)
62      {
63 //    if (bbGetOutputOut()!=0) 
64 //     { 
65 //       bbGetOutputOut()->Delete();
66 //          bbSetOutputOut(0);
67 //     }
68      }
69   </PRE></process>
70
71  <!--======================================================================
72    CONSTRUCTORS / DESTRUCTORS (OPTIONAL) -->
73
74   <constructor><PRE> 
75     bbSetInputImageMinDimension(2);
76     bbSetInputImageMaxDimension(3);
77     bbSetInputImageOutputDimension(3);
78     bbSetInputTitle("Select image(s)");
79     bbGetInputOutput(0);
80     bbSetOutputOut(0);
81   </PRE>
82   </constructor>
83
84
85   <!-- THE COPY-CONSTRUCTION METHOD BODY : -->
86   <copyconstructor>
87   <PRE>
88     bbSetOutputOut(0);
89   </PRE>
90   </copyconstructor>
91
92   <!-- THE DESTRUCTION METHOD BODY : -->
93   <destructor>
94   <PRE>
95     std::vector<vtkImageData*>::iterator i;
96     for (i=bbGetOutputOut2().begin();i!=bbGetOutputOut2().end();++i) (*i)->Delete();
97   </PRE>
98   </destructor>
99
100
101
102 </blackbox>
103