]> Creatis software - creaImageIO.git/commitdiff
*** empty log message ***
authorguigues <guigues>
Wed, 1 Apr 2009 12:52:34 +0000 (12:52 +0000)
committerguigues <guigues>
Wed, 1 Apr 2009 12:52:34 +0000 (12:52 +0000)
CMakeLists.txt
appli/wxGimmick/main.cxx
bbtk/CMakeLists.txt
bbtk/src/CMakeLists.txt
bbtk/src/bbcreaImageIOGimmick.xml_v1 [moved from bbtk/src/bbcreaImageIOGimmick.xml with 69% similarity]
bbtk/src/bbcreaImageIOGimmick.xml_v2 [new file with mode: 0644]
src2/creaImageIOMultiThreadImageReader.cpp

index 8a97a2ebaf01ccac81131fddc3941779b70fcd2f..dc4a57d6fb196852c9f377804d97f9a4b9517bdc 100644 (file)
@@ -39,12 +39,14 @@ ENDIF(WIN32)
 OPTION(BUILD_V2 "Build Version 2 ?" OFF) 
 
 IF (BUILD_V2)
+  SET(LIBNAME creaImageIO2)
   INCLUDE_DIRECTORIES(
     ${PROJECT_BINARY_DIR}
     ${PROJECT_SOURCE_DIR}/src2
     )
   SUBDIRS(src2)
 ELSE (BUILD_V2)
+  SET(LIBNAME creaImageIO)
   INCLUDE_DIRECTORIES(
     ${PROJECT_BINARY_DIR}
     ${PROJECT_SOURCE_DIR}/src
index 91dfa1fc3e200cdd8cdc3777d3e84d9eb4da2ec4..2e9533a295df3645b7ad42b7144fc3c083da8811 100644 (file)
@@ -22,8 +22,8 @@ bool myApp::OnInit( )
    wxInitAllImageHandlers();
 
    
-   creaImageIO::SetGimmickMessageLevel(9);
-   creaImageIO::SetGimmickDebugMessageLevel(9);
+   creaImageIO::SetGimmickMessageLevel(5);
+   creaImageIO::SetGimmickDebugMessageLevel(5);
    
 
    int threads = 1;
index 48abc9dea413e644505c8bfe3d8fda0c7a8af84b..f0c11cedd396a8be5a6fdc34a2e8199ae75b7dcc 100644 (file)
@@ -69,13 +69,14 @@ SET(${BBTK_PACKAGE_NAME}_COMPILE_ALL_CXX ON)
 #===========================================================================
 # THE xml SOURCES OF THE PACKAGE
 # EITHER UNCOMMENT NEXT LINE TO bbfy ALL .xml OF THE src DIRECTORY :
-SET(${BBTK_PACKAGE_NAME}_COMPILE_ALL_XML ON)
+#SET(${BBTK_PACKAGE_NAME}_COMPILE_ALL_XML ON)
 # ... OR LIST THE FILES TO COMPILE MANUALLY :
-#SET(${BBTK_PACKAGE_NAME}_XML_SOURCES
+SET(${BBTK_PACKAGE_NAME}_XML_SOURCES
 # LIST HERE THE FILES TO bbfy TO BUILD THE LIB
 # E.G. TO bbfy "toto.xml" ADD "toto" (NO EXTENSION)
 # THE PATH MUST BE RELATIVE TO THE src FOLDER
-#    )
+${CMAKE_CURRENT_BINARY_DIR}/src/bbcreaImageIOGimmick.xml 
+    )
 #===========================================================================
 
 #===========================================================================
@@ -117,7 +118,7 @@ SET(${BBTK_PACKAGE_NAME}_INCLUDE_DIRS
 SET(${BBTK_PACKAGE_NAME}_LIBS 
   # LIST HERE THE ADDITIONAL LIBS TO LINK AGAINST
   # EXCEPT : the same libs than for INCLUDE_DIRS 
-  creaImageIO
+  ${LIBNAME}
   )
 #===========================================================================
 
index e2d2a1158aa171224a8d35f3eed22a0869a32910..68b9e503a16df703c9f6b52af120f2d1953da97f 100644 (file)
@@ -1,3 +1,16 @@
+
+IF (BUILD_V2)
+  CONFIGURE_FILE(bbcreaImageIOGimmick.xml_v2 
+    ${CMAKE_CURRENT_BINARY_DIR}/bbcreaImageIOGimmick.xml 
+    COPYONLY)
+ELSE (BUILD_V2)
+  CONFIGURE_FILE(bbcreaImageIOGimmick.xml_v1
+    ${CMAKE_CURRENT_BINARY_DIR}/bbcreaImageIOGimmick.xml 
+    COPYONLY)
+ENDIF (BUILD_V2)
+
+INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR} )
+  
 #---------------------------------------------------------------------------
 # Include src configuration cmake script
 INCLUDE(${BBTK_CMAKE_DIR}/BBTKConfigurePackage_src.cmake)
similarity index 69%
rename from bbtk/src/bbcreaImageIOGimmick.xml
rename to bbtk/src/bbcreaImageIOGimmick.xml_v1
index f4043572a4e0d842ce804af3044e009278110076..7d8f8837f18f06dfe1fda1df7e7494cb2c81ba4a 100644 (file)
 
   <input name="Title" type="std::string" description="Title of the dialog"/>
   <input name="ImageDimension" type="int" description="The maximal dimensionality of the image to be selected, e.g. 2 for a 2D image, 3 for a 3D image,..."/>
- <output name="Out", type="vtkImageData*" description="The selected image"/>
+  <input name="Output" type="int" description="What to output ? 0(default)=image and filenames/1=only filenames"/>
+  <typedef><PRE>typedef std::vector<std::string> OutputFilesType;</PRE></typedef>
+  <typedef><PRE>typedef std::vector<vtkImageData*> OutputImagesType;</PRE></typedef>
+
+ <output name="Out" type="vtkImageData*" description="The first selected image"/>
+ <output name="Out2" type="OutputImagesType" description="The selected images"/>
+ <output name="Files" type="OutputFilesType" description="The selected files"/>
  
  <!--========================================================================
     PROCESS section -->
    
    if (w.GetReturnCode() == wxID_OK)
      {
-       std::vector<vtkImageData*> images;
-       w.GetSelectedImages(images);
-       bbSetOutputOut(images[0]);
+     if (bbGetInputOutput()==0) 
+         {
+           std::vector<vtkImageData*> images;
+           w.GetSelectedImages(images);
+           bbSetOutputOut(images[0]);
+           bbSetOutputOut2(images);
+         }
+       std::vector<std::string> files;
+       w.GetSelectedFiles(files);
+       bbSetOutputFiles(files);
      }
    else if (w.GetReturnCode() == wxID_CANCEL)
      {
   <constructor><PRE> 
     bbSetInputImageDimension(3);
     bbSetInputTitle("Select image(s)");
+    bbSetInputOutput(0);
     bbSetOutputOut(0);
   </PRE>
   </constructor>
 
 
-  <!-- THE COPY-CONSTRUCTION METHOD BODY :
-    Here does nothing 
-    But this is where you should allocate the output pointers if any
-    and copy the pointed values (to avoid bug caused by multiple references) -->
+  <!-- THE COPY-CONSTRUCTION METHOD BODY : -->
   <copyconstructor>
   <PRE>
     bbSetOutputOut(0);
   </PRE>
   </copyconstructor>
 
-  <!-- THE DESTRUCTION METHOD BODY :
-    Here does nothing 
-    but this is where you should desallocate the output pointers if any -->
+  <!-- THE DESTRUCTION METHOD BODY  -->
   <destructor>
   <PRE>
-    if (bbGetOutputOut()!=0) bbGetOutputOut()->Delete();
+    std::vector<vtkImageData*>::iterator i;
+    for (i=bbGetOutputOut2().begin();i!=bbGetOutputOut2().end();++i) (*i)->Delete();
   </PRE>
   </destructor>
 
diff --git a/bbtk/src/bbcreaImageIOGimmick.xml_v2 b/bbtk/src/bbcreaImageIOGimmick.xml_v2
new file mode 100644 (file)
index 0000000..4628f10
--- /dev/null
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!--==========================================================================
+   STARTS THE DESCRIPTION OF THE BLACK BOX -->
+<blackbox name="Gimmick">
+ <!--========================================================================
+    THE BOX DOCUMENTATION -->
+  <author>laurent.guigues@creatis.insa-lyon.fr</author>
+  <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>
+  <category>image;reader;dicom</category>
+
+<!--========================================================================
+    #include directives to be put in the .h generated
+    There must be one tag per file to include -->
+<include>creaImageIOWxGimmickReaderDialog.h</include>
+ <!--========================================================================
+    INPUTS/OUTPUTS DECLARATION -->
+
+  <input name="Title" type="std::string" description="Title of the dialog"/>
+  <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,..."/>
+  <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,..."/>
+  <input name="ImageOutputDimension" type="int" description="The dimensionality of the output image, e.g. 2 for a 2D image, 3 for a 3D image,..."/>
+  <input name="Output" type="int" description="What to output ? 0(default)=image and filenames/1=only filenames"/>
+  <typedef><PRE>typedef std::vector<std::string> OutputFilesType;</PRE></typedef>
+  <typedef><PRE>typedef std::vector<vtkImageData*> OutputImagesType;</PRE></typedef>
+
+ <output name="Out" type="vtkImageData*" description="The first selected image"/>
+ <output name="Out2" type="OutputImagesType" description="The selected images"/>
+ <output name="Files" type="OutputFilesType" description="The selected files"/>
+ <!--========================================================================
+    PROCESS section -->
+
+  <process><PRE>
+   int threads = 1;
+
+   creaImageIO::WxGimmickReaderDialog w(0,
+                                  -1,
+                                  crea::std2wx(bbGetInputTitle()),
+                                  wxDefaultPosition,
+                                  wxSize(1200,800),
+                                  bbGetInputImageMinDimension(),
+                                  bbGetInputImageMaxDimension(),
+                                  bbGetInputImageOutputDimension(),
+                                  threads);
+   w.ShowModal();
+   
+   if (w.GetReturnCode() == wxID_OK)
+     {
+       if (bbGetInputOutput()==0) 
+         {
+           std::vector<vtkImageData*> images;
+           w.GetSelectedImages(images,bbGetInputImageOutputDimension());
+           bbSetOutputOut(images[0]);
+           bbSetOutputOut2(images);
+         }
+       std::vector<std::string> files;
+       w.GetSelectedFiles(files);
+       bbSetOutputFiles(files);
+     }
+   else if (w.GetReturnCode() == wxID_CANCEL)
+     {
+//    if (bbGetOutputOut()!=0) 
+//     { 
+ //       bbGetOutputOut()->Delete();    
+//          bbSetOutputOut(0);
+// }
+     }
+  </PRE></process>
+
+ <!--======================================================================
+   CONSTRUCTORS / DESTRUCTORS (OPTIONAL) -->
+
+  <constructor><PRE> 
+    bbSetInputImageMinDimension(2);
+    bbSetInputImageMaxDimension(3);
+    bbSetInputImageOutputDimension(3);
+    bbSetInputTitle("Select image(s)");
+    bbGetInputOutput(0);
+    bbSetOutputOut(0);
+  </PRE>
+  </constructor>
+
+
+  <!-- THE COPY-CONSTRUCTION METHOD BODY : -->
+  <copyconstructor>
+  <PRE>
+    bbSetOutputOut(0);
+  </PRE>
+  </copyconstructor>
+
+  <!-- THE DESTRUCTION METHOD BODY : -->
+  <destructor>
+  <PRE>
+    std::vector<vtkImageData*>::iterator i;
+    for (i=bbGetOutputOut2().begin();i!=bbGetOutputOut2().end();++i) (*i)->Delete();
+  </PRE>
+  </destructor>
+
+
+
+</blackbox>
+
index 8ec273fec3d4350d427d7e07c129964b8a53a052..85bbb4b06b1f374828172b1e413447430b9dab81 100644 (file)
@@ -43,7 +43,7 @@ namespace creaImageIO
     : //mDoNotSignal(false),
       mReader(0),
       mTotalMem(0),
-      mTotalMemMax(100000)
+      mTotalMemMax(1500000)
   {
     //    std::cout << "#### MultiThreadImageReader::MultiThreadImageReader("
     //       << " #threads= " << number_of_threads <<" )"<<std::endl;