From: Frederic Cervenansky Date: Wed, 9 Dec 2009 08:44:11 +0000 (+0000) Subject: clean-up X-Git-Tag: CREATOOLS.2-0-3~77 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=b0843014c5482f70050fab8036c6780172e3b6c9;p=creaImageIO.git clean-up --- diff --git a/src2/creaImageIODicomImageReader.cpp b/src2/creaImageIODicomImageReader.cpp index 0dde6ca..30c4209 100644 --- a/src2/creaImageIODicomImageReader.cpp +++ b/src2/creaImageIODicomImageReader.cpp @@ -1,14 +1,12 @@ #include -#include + #include #include #include "boost/filesystem/path.hpp" #include #include -#ifdef _DEBUG -#define new DEBUG_NEW -#endif + namespace creaImageIO { @@ -95,7 +93,7 @@ namespace creaImageIO return str; } //======================================================================== - + //===================================================================== void DicomImageReader::ReadAttributes(const std::string& filename, std::map& attr) @@ -103,7 +101,8 @@ namespace creaImageIO GimmickMessage(2,"Reading attributes from DICOM file '" < file(GDCM_NAME_SPACE::File::New(), DicomImageReader::deleter()); GDCM_NAME_SPACE::Document *doc= GDCM_NAME_SPACE::File::New(); doc->SetLoadMode( GDCM_NAME_SPACE::LD_ALL); @@ -112,7 +111,7 @@ namespace creaImageIO file->SetLoadMode( GDCM_NAME_SPACE::LD_ALL); file->SetFileName(filename.c_str()); file->Load(); - if (file->IsReadable() ||((GDCM_NAME_SPACE::Document*) file)->IsReadable()) + if (file->IsReadable())// ||((GDCM_NAME_SPACE::Document*) file)->IsReadable()) { std::map::iterator i; for (i=attr.begin();i!=attr.end();++i) @@ -146,7 +145,7 @@ namespace creaImageIO } } } - file->Delete(); + // file->Delete(); } //===================================================================== diff --git a/src2/creaImageIODicomImageReader.h b/src2/creaImageIODicomImageReader.h index 0ff7c66..6f4513a 100644 --- a/src2/creaImageIODicomImageReader.h +++ b/src2/creaImageIODicomImageReader.h @@ -3,7 +3,7 @@ #include - +#include // forward decl class vtkGdcmReader; @@ -35,6 +35,14 @@ namespace creaImageIO private: vtkGdcmReader* mReader; + struct deleter + { + void operator()(GDCM_NAME_SPACE::File* p) + { + p->Delete(); + } + }; + friend struct deleter; }; //===================================================================== diff --git a/src2/creaImageIOGimmick.cpp b/src2/creaImageIOGimmick.cpp index 633f0c8..04e8c68 100644 --- a/src2/creaImageIOGimmick.cpp +++ b/src2/creaImageIOGimmick.cpp @@ -9,14 +9,7 @@ # define PATH_MAX 2048 #endif -#ifdef _RELWITHDEBINFO -#define new DEBUG_NEW -#endif - -#ifdef _DEBUG -#define new DEBUG_NEW -#endif namespace creaImageIO { @@ -130,7 +123,8 @@ namespace creaImageIO else { /// Open and test it - GimmickMessage(1,"Opening local database '" <Open(true) ) { GimmickError("ERROR OPENING '"< #include -#ifdef _DEBUG -#define new DEBUG_NEW -#endif - - - -vtkImageData* getImageDataDialog() { - // wxApp::OnInit(); - #ifdef __WXGTK__ - //See http://www.wxwindows.org/faqgtk.htm#locale - setlocale(LC_NUMERIC, "C"); - #endif - wxInitAllImageHandlers(); - - creaImageIO::SetGimmickMessageLevel(5); - creaImageIO::SetGimmickDebugMessageLevel(0); - - int min_dim = GIMMICK_2D_IMAGE_SELECTION; - int max_dim = GIMMICK_3D_IMAGE_SELECTION; - int output_dim = NATIVE; - int threads = 1; - - creaImageIO::WxGimmickReaderDialog w( - 0, - -1, - "localdatabase_Descriptor.dscp", - "Local Database", - _T("Select image(s) - Gimmick! (c) CREATIS-LRMN 2008"), - wxDefaultPosition, - wxSize(1200,800), - min_dim, - max_dim, - output_dim, - threads); - w.ShowModal(); - - if (w.GetReturnCode() == wxID_OK) - { - std::cout << "$$$$ main : user clicked 'OK' $$$$"< s; - w.GetSelectedFiles(s); - std::vector::iterator i; - for (i=s.begin();i!=s.end();++i) - { - std::cout << *i << std::endl; - } - std::cout << "$$$$ "< images; - w.GetSelectedImages(images,output_dim); - std::cout<Delete(); - - - } - else if (w.GetReturnCode() == wxID_CANCEL) - { - w.OnExit(); - std::cout << "$$$$ main : user clicked 'CANCEL' $$$$"<& images, const std::string i_namedescp , @@ -100,7 +17,8 @@ namespace creaImageIO int image_out_dim, int nb_threads) { - + + creaImageIO::WxGimmickReaderDialog w(0, -1, i_namedescp, diff --git a/src2/creaImageIOGimmickView.cpp b/src2/creaImageIOGimmickView.cpp index 30ca0d5..d990cb5 100644 --- a/src2/creaImageIOGimmickView.cpp +++ b/src2/creaImageIOGimmickView.cpp @@ -1,12 +1,9 @@ #include #include #include "boost/filesystem.hpp" - -#include // JPR -#include // JPR -#include // JPR -#include - +#include +#include +#include namespace fs = boost::filesystem; namespace creaImageIO @@ -18,21 +15,22 @@ namespace creaImageIO public: ImageExtent(const std::string& x, const std::string& y, const std::string& z, const std::string& t) { - sscanf(x.c_str(),"%d",&mExtent[0]); - sscanf(y.c_str(),"%d",&mExtent[1]); - sscanf(z.c_str(),"%d",&mExtent[2]); - sscanf(t.c_str(),"%d",&mExtent[3]); - if(x==""){mExtent[0]=1;} - if(y==""){mExtent[1]=1;} - if(z==""){mExtent[2]=1;} - if(t==""){mExtent[3]=1;} - - if (mExtent[3]>1) mDim=4; - else if (mExtent[2]>1) mDim=3; - else if (mExtent[1]>1) mDim=2; - else if (mExtent[0]>1) mDim=1; - else mDim=0; + sscanf(x.c_str(),"%d",&mExtent[0]); + sscanf(y.c_str(),"%d",&mExtent[1]); + sscanf(z.c_str(),"%d",&mExtent[2]); + sscanf(t.c_str(),"%d",&mExtent[3]); + if(x==""){mExtent[0]=1;} + if(y==""){mExtent[1]=1;} + if(z==""){mExtent[2]=1;} + if(t==""){mExtent[3]=1;} + + if (mExtent[3]>1) mDim=4; + else if (mExtent[2]>1) mDim=3; + else if (mExtent[1]>1) mDim=2; + else if (mExtent[0]>1) mDim=1; + else mDim=0; } + ///Clears the extent void Clear() { mExtent[0] = mExtent[1] = mExtent[2] = mExtent[3] = 1; } @@ -70,6 +68,7 @@ namespace creaImageIO // Anciently started the threads ... // Threads now automatically start at first image request //mReader.Start(); + } //====================================================================== @@ -121,6 +120,7 @@ namespace creaImageIO } + //====================================================================== //====================================================================== @@ -305,9 +305,7 @@ void GimmickView::ReadImagesNotThreaded(std::vector& s, std::vect } else if (im.size()>1) // Test inutile ? JPR { - // Read the FIRST image to get info ... about all the other ones. ?!? // JPR vtkImageData* first = mReader.GetImage( im.front()); - if (dimension == 2) { // n3D @@ -319,19 +317,16 @@ void GimmickView::ReadImagesNotThreaded(std::vector& s, std::vect s.push_back(out); } } - else if (dimension == 3) + else { - // n*2D to 3D :: --> NON ! Ca va tres bien pour du 2D+T (le ZSpacing, on s'en tape) - // // ne convient pas pour du n*2D a  lire comme un 3D - // // Il faut un gdcmSerieHelper ! + // n*2D to 3D vtkImageData* out = vtkImageData::New(); out->CopyStructure(first); out->SetScalarType(first->GetScalarType()); out->SetNumberOfScalarComponents(first->GetNumberOfScalarComponents()); int ext[6]; - //first->GetExtent(ext); // JPR + //first->GetExtent(ext); // JPR first->GetWholeExtent(ext); // renvoie egalement 0,0 en Z // JPR - // Normal : if(ext[5] == 0) { @@ -343,7 +338,7 @@ void GimmickView::ReadImagesNotThreaded(std::vector& s, std::vect } out->SetExtent(ext); - // LG : TODO : Z Spacing ? // Voir + loin // JPR + // LG : TODO : Z Spacing ? int dim[3]; first->GetDimensions(dim); @@ -455,10 +450,9 @@ void GimmickView::ReadImagesNotThreadedInVector(std::vector& s, s if (dimension == 2) { // n3D - std::vector::iterator it; + std::vector::iterator it; for (it=im.begin(); it!=im.end(); ++it) { - std::cout << "----------------------------------------n3D" << std::endl; vtkImageData* out = vtkImageData::New(); out->ShallowCopy(mReader.GetImage(*it)); s.push_back(out); @@ -468,15 +462,11 @@ void GimmickView::ReadImagesNotThreadedInVector(std::vector& s, s { // n2D to 3D // NO! // n *2D + T in a vector : - std::cout << "---------------------------------------- n *2D + T" << std::endl; + std::vector::iterator it; for (it=im.begin(); it!=im.end(); ++it) { - std::cout << "---------------------------------------- [" << *it << "]" << std::endl; - //vtkImageData* out = mReader.GetImage( (*it)); - //s.push_back(out); - vtkImageData* out = vtkImageData::New(); - out->ShallowCopy(mReader.GetImage(*it)); + vtkImageData* out = mReader.GetImage( (*it)); s.push_back(out); } } @@ -489,15 +479,15 @@ void GimmickView::ReadImagesNotThreadedInVector(std::vector& s, s void GimmickView::RequestReading(tree::Node* n, int prio, int selection_index, boost::shared_ptr p) { - if(!mReaderStarted) - { - mReader.Start(); - mReaderStarted=true; - } - ImageEventType t(n,selection_index); - t.pointerHolder = p; - mImageEventMap[n->GetAttribute("FullFileName")] = t; - mReader.Request(this,n->GetAttribute("FullFileName"),prio); + if(!mReaderStarted) + { + mReader.Start(); + mReaderStarted=true; + } + ImageEventType t(n,selection_index); + t.pointerHolder = p; + mImageEventMap[n->GetAttribute("FullFileName")] = t; + mReader.Request(this,n->GetAttribute("FullFileName"),prio); } //====================================================================== diff --git a/src2/creaImageIOMultiThreadImageReader.cpp b/src2/creaImageIOMultiThreadImageReader.cpp index 9645f09..5871d80 100644 --- a/src2/creaImageIOMultiThreadImageReader.cpp +++ b/src2/creaImageIOMultiThreadImageReader.cpp @@ -3,6 +3,7 @@ #include #include + namespace creaImageIO { diff --git a/src2/creaImageIOSQLiteTreeHandler.cpp b/src2/creaImageIOSQLiteTreeHandler.cpp index f3d5cbb..3531408 100644 --- a/src2/creaImageIOSQLiteTreeHandler.cpp +++ b/src2/creaImageIOSQLiteTreeHandler.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include "CppSQLite3.h" @@ -12,6 +13,8 @@ #include using namespace crea; + + namespace creaImageIO { using namespace tree; @@ -23,8 +26,7 @@ namespace creaImageIO { mDB = new CppSQLite3DB; mIsAdding=false; - GimmickMessage(1,"SQLite version : " - <SQLiteVersion())<< std::endl); + //GimmickMessage(1,"SQLite version : " <SQLiteVersion())<< std::endl); } //============================================================= diff --git a/src2/creaImageIOSynchron.cpp b/src2/creaImageIOSynchron.cpp index 075bbaf..3e78951 100644 --- a/src2/creaImageIOSynchron.cpp +++ b/src2/creaImageIOSynchron.cpp @@ -2,6 +2,8 @@ #include #include #include + + //namespace fs = boost::filesystem; //===================================================================== diff --git a/src2/creaImageIOSystem.h b/src2/creaImageIOSystem.h index b9e8744..f454503 100644 --- a/src2/creaImageIOSystem.h +++ b/src2/creaImageIOSystem.h @@ -3,6 +3,7 @@ #include "creaMessageManager.h" + #if defined(_WIN32) #ifdef CREAIMAGEIO_EXPORT_SYMBOLS #define CREAIMAGEIO_EXPORT __declspec( dllexport ) @@ -45,13 +46,15 @@ namespace creaImageIO } //============================================================== + + #define GimmickMessage(LEV,MESS) \ creaMessage("Gimmick!",LEV,"[Gimmick!] "< #include + namespace creaImageIO { namespace tree diff --git a/src2/creaImageIOTreeHandlerImageAdder.cpp b/src2/creaImageIOTreeHandlerImageAdder.cpp index e4eeaf4..290da65 100644 --- a/src2/creaImageIOTreeHandlerImageAdder.cpp +++ b/src2/creaImageIOTreeHandlerImageAdder.cpp @@ -4,10 +4,7 @@ #include #include -#include -#ifdef _DEBUG -#define new DEBUG_NEW -#endif + namespace fs = boost::filesystem; using boost::filesystem::path; using boost::next; diff --git a/src2/creaImageIOTreeLevelDescriptor.cpp b/src2/creaImageIOTreeLevelDescriptor.cpp index 916bb9f..46eb41a 100644 --- a/src2/creaImageIOTreeLevelDescriptor.cpp +++ b/src2/creaImageIOTreeLevelDescriptor.cpp @@ -1,9 +1,6 @@ #include #include -#ifdef _DEBUG -#define new DEBUG_NEW -#endif namespace creaImageIO { diff --git a/src2/creaImageIOTreeNode.cpp b/src2/creaImageIOTreeNode.cpp index c78973b..5d892af 100644 --- a/src2/creaImageIOTreeNode.cpp +++ b/src2/creaImageIOTreeNode.cpp @@ -3,9 +3,7 @@ #include #include #include -#ifdef _DEBUG -#define new DEBUG_NEW -#endif + namespace creaImageIO { namespace tree diff --git a/src2/creaImageIOTreeView.cpp b/src2/creaImageIOTreeView.cpp index d66c8ce..502a7c1 100644 --- a/src2/creaImageIOTreeView.cpp +++ b/src2/creaImageIOTreeView.cpp @@ -2,6 +2,7 @@ #include + namespace creaImageIO { // CTor diff --git a/src2/creaImageIOVtkImageReader.cpp b/src2/creaImageIOVtkImageReader.cpp index c4dd1bf..368fb7f 100644 --- a/src2/creaImageIOVtkImageReader.cpp +++ b/src2/creaImageIOVtkImageReader.cpp @@ -2,13 +2,8 @@ #include #include #include "boost/filesystem/path.hpp" -#include -#ifdef _DEBUG -#define new DEBUG_NEW -#endif -namespace creaImageIO -{ +namespace creaImageIO{ //===================================================================== VtkImageReader::VtkImageReader(vtkImageReader2* r, const std::string& name, diff --git a/src2/creaImageIOWxAttributeSelectionPanel.cpp b/src2/creaImageIOWxAttributeSelectionPanel.cpp index 0d6fa7c..87203d1 100644 --- a/src2/creaImageIOWxAttributeSelectionPanel.cpp +++ b/src2/creaImageIOWxAttributeSelectionPanel.cpp @@ -1,6 +1,7 @@ #include #include + namespace creaImageIO { const int ID_COMBO = 180; diff --git a/src2/creaImageIOWxGimmickReaderDialog.cpp b/src2/creaImageIOWxGimmickReaderDialog.cpp index 82c728d..baac5a5 100644 --- a/src2/creaImageIOWxGimmickReaderDialog.cpp +++ b/src2/creaImageIOWxGimmickReaderDialog.cpp @@ -1,13 +1,5 @@ #include #include -#include -#ifdef _DEBUG -#define new DEBUG_NEW -#endif - -#ifdef _RELWITHDEBINFO -#define new DEBUG_NEW -#endif namespace creaImageIO { @@ -23,7 +15,7 @@ namespace creaImageIO int max_dim, int output_dim, // never used ?!? // JPR int threads) - : wxDialog( parent, + : wxDialog( parent, id, title, pos, diff --git a/src2/creaImageIOWxGimmickView.cpp b/src2/creaImageIOWxGimmickView.cpp index 625cb94..37c0f19 100644 --- a/src2/creaImageIOWxGimmickView.cpp +++ b/src2/creaImageIOWxGimmickView.cpp @@ -31,9 +31,7 @@ using namespace crea; #include "bruker2dicom.h" #endif -#ifdef _DEBUG -#define new DEBUG_NEW -#endif + namespace creaImageIO { diff --git a/src2/creaImageIOWxTreeView.cpp b/src2/creaImageIOWxTreeView.cpp index a165230..03c5b0d 100644 --- a/src2/creaImageIOWxTreeView.cpp +++ b/src2/creaImageIOWxTreeView.cpp @@ -5,7 +5,6 @@ #include #include - //===================================================================== namespace creaImageIO { diff --git a/src2/creaImageIOWxViewer.cpp b/src2/creaImageIOWxViewer.cpp index 3aaf583..2ee0ad5 100644 --- a/src2/creaImageIOWxViewer.cpp +++ b/src2/creaImageIOWxViewer.cpp @@ -10,6 +10,7 @@ #include #include + using namespace crea; // Memory tracking allocation namespace creaImageIO @@ -57,15 +58,8 @@ namespace creaImageIO mNeedRefresh = false; mLastImageShown = NULL; - - wxBoxSizer *topsizer = new wxBoxSizer(wxVERTICAL); - - mslide = new wxSlider(this,-1,0,0,1, wxDefaultPosition, wxSize(400,10), wxSL_HORIZONTAL | wxSL_LABELS); - Connect( mslide->GetId(), wxEVT_COMMAND_SLIDER_UPDATED , (wxObjectEventFunction) &WxViewer::OnSlide ); - mcheck = new wxCheckBox(this,5123,crea::std2wx("Cine Loop")); - Connect( mcheck->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &WxViewer::OnCineLoop ); - mcheck->SetValue(false); - // previewer + + // previewer mInteractor = new crea::creawxVTKRenderWindowInteractor(this,-1); mInteractor->UseCaptureMouseOn(); @@ -75,10 +69,25 @@ namespace creaImageIO mCurrent = 0; mPlayer = 0; - topsizer-> Add( mslide,1,wxALIGN_CENTER ,0); - topsizer-> Add( mInteractor ,1,wxGROW ,0); - - SetSizer( topsizer ); + // Grid to place checkbox and slider + mflexSizer = new wxFlexGridSizer(1,2,1,1); + //Slider + mslide = new wxSlider(this,-1,0,0,1, wxDefaultPosition, wxSize(400,40), wxSL_HORIZONTAL | wxSL_LABELS); + Connect( mslide->GetId(), wxEVT_COMMAND_SLIDER_UPDATED , (wxObjectEventFunction) &WxViewer::OnSlide ); + //CheckBox + mcheck = new wxCheckBox(this,5123,crea::std2wx("Cine Loop")); + Connect( mcheck->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &WxViewer::OnCineLoop ); + mcheck->SetValue(false); + mflexSizer->Add(mcheck,0, wxFIXED_MINSIZE); + mflexSizer-> Add( mslide,1,wxALIGN_CENTER | wxFIXED_MINSIZE ); + + // Sizer for Previewer and GridSizer + mtopSizer = new wxBoxSizer(wxVERTICAL); + mtopSizer->Add(mflexSizer,0); + mtopSizer-> Add( mInteractor ,1,wxGROW,0); + SetSizer(mtopSizer,true); + + Update(); Layout(); } //===================================================================== @@ -91,9 +100,16 @@ namespace creaImageIO GimmickDebugMessage(6,"WxViewer::~WxViewer" <Pause(); + mPlayer->Delete(); + mPlayer = 0; + } + delete mInteractor; + //delete mslide; + //delete mflexSizer; + //delete mtopSizer; } //===================================================================== diff --git a/src2/creaImageIOWxViewer.h b/src2/creaImageIOWxViewer.h index 503aa4d..b807f7c 100644 --- a/src2/creaImageIOWxViewer.h +++ b/src2/creaImageIOWxViewer.h @@ -89,6 +89,10 @@ namespace creaImageIO ///The vectors of images to be shown std::vector< boost::shared_ptr > imagePointers; + /// Sizers to preview images + wxFlexGridSizer *mflexSizer; + wxBoxSizer *mtopSizer; + }; }