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>
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 -->
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>
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"/>
30 <!--========================================================================
36 creaImageIO::WxGimmickReaderDialog w(0,
38 crea::std2wx(bbGetInputTitle()),
41 bbGetInputImageMinDimension(),
42 bbGetInputImageMaxDimension(),
43 bbGetInputImageOutputDimension(),
47 if (w.GetReturnCode() == wxID_OK)
49 if (bbGetInputOutput()==0)
51 std::vector<vtkImageData*> images;
52 w.GetSelectedImages(images,bbGetInputImageOutputDimension());
53 bbSetOutputOut(images[0]);
54 bbSetOutputOut2(images);
56 std::vector<std::string> files;
57 w.GetSelectedFiles(files);
58 bbSetOutputFiles(files);
60 else if (w.GetReturnCode() == wxID_CANCEL)
62 // if (bbGetOutputOut()!=0)
64 // bbGetOutputOut()->Delete();
70 <!--======================================================================
71 CONSTRUCTORS / DESTRUCTORS (OPTIONAL) -->
74 bbSetInputImageMinDimension(2);
75 bbSetInputImageMaxDimension(3);
76 bbSetInputImageOutputDimension(3);
77 bbSetInputTitle("Select image(s)");
84 <!-- THE COPY-CONSTRUCTION METHOD BODY : -->
91 <!-- THE DESTRUCTION METHOD BODY : -->
94 std::vector<vtkImageData*>::iterator i;
95 for (i=bbGetOutputOut2().begin();i!=bbGetOutputOut2().end();++i) (*i)->Delete();