]> Creatis software - creaImageIO.git/blob - bbtk/src/bbcreaImageIOGimmick.xml_v2
*** empty log message ***
[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   <typedef><PRE>typedef std::vector<std::string> OutputFilesType;</PRE></typedef>
24   <typedef><PRE>typedef std::vector<vtkImageData*> OutputImagesType;</PRE></typedef>
25
26  <output name="Out" type="vtkImageData*" description="The first selected image"/>
27  <output name="Out2" type="OutputImagesType" description="The selected images"/>
28  <output name="Files" type="OutputFilesType" description="The selected files"/>
29  
30  <!--========================================================================
31     PROCESS section -->
32
33   <process><PRE>
34    int threads = 1;
35
36    creaImageIO::WxGimmickReaderDialog w(0,
37                                   -1,
38                                   crea::std2wx(bbGetInputTitle()),
39                                   wxDefaultPosition,
40                                   wxSize(1200,800),
41                                   bbGetInputImageMinDimension(),
42                                   bbGetInputImageMaxDimension(),
43                                   bbGetInputImageOutputDimension(),
44                                   threads);
45    w.ShowModal();
46    
47    if (w.GetReturnCode() == wxID_OK)
48      {
49        if (bbGetInputOutput()==0) 
50          {
51            std::vector<vtkImageData*> images;
52            w.GetSelectedImages(images,bbGetInputImageOutputDimension());
53            bbSetOutputOut(images[0]);
54            bbSetOutputOut2(images);
55          }
56        std::vector<std::string> files;
57        w.GetSelectedFiles(files);
58        bbSetOutputFiles(files);
59      }
60    else if (w.GetReturnCode() == wxID_CANCEL)
61      {
62 //    if (bbGetOutputOut()!=0) 
63 //     { 
64  //       bbGetOutputOut()->Delete();    
65 //          bbSetOutputOut(0);
66 // }
67      }
68   </PRE></process>
69
70  <!--======================================================================
71    CONSTRUCTORS / DESTRUCTORS (OPTIONAL) -->
72
73   <constructor><PRE> 
74     bbSetInputImageMinDimension(2);
75     bbSetInputImageMaxDimension(3);
76     bbSetInputImageOutputDimension(3);
77     bbSetInputTitle("Select image(s)");
78     bbGetInputOutput(0);
79     bbSetOutputOut(0);
80   </PRE>
81   </constructor>
82
83
84   <!-- THE COPY-CONSTRUCTION METHOD BODY : -->
85   <copyconstructor>
86   <PRE>
87     bbSetOutputOut(0);
88   </PRE>
89   </copyconstructor>
90
91   <!-- THE DESTRUCTION METHOD BODY : -->
92   <destructor>
93   <PRE>
94     std::vector<vtkImageData*>::iterator i;
95     for (i=bbGetOutputOut2().begin();i!=bbGetOutputOut2().end();++i) (*i)->Delete();
96   </PRE>
97   </destructor>
98
99
100
101 </blackbox>
102