X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FcreaImageIOWxAnySimpleDlg.h;h=eb10d1e2fb0084a259fa7331ec07f1c536c81110;hb=e0a559861dcfa6732d80b3158eb2906ca650d5d4;hp=aa829272ec719cab7039d07924f12db28245d96f;hpb=c83e33cdb98d13c0cdfafddb6f7a5b301cb63583;p=creaImageIO.git diff --git a/src/creaImageIOWxAnySimpleDlg.h b/src/creaImageIOWxAnySimpleDlg.h index aa82927..eb10d1e 100644 --- a/src/creaImageIOWxAnySimpleDlg.h +++ b/src/creaImageIOWxAnySimpleDlg.h @@ -9,95 +9,94 @@ namespace creaImageIO * \ingroup View */ - /// Simple Wxwidgets interface to select file(s) or directory or from creaImageIO database to display -//EED class __declspec(dllexport) WxAnySimpleDlg : public wxDialog - class CREAIMAGEIO_EXPORT WxAnySimpleDlg : public wxDialog - { - public: - /// Ctor - WxAnySimpleDlg( wxWindow *parent, - wxString i_title =_T(""), - const std::string i_namedescp = "localdatabase_Descriptor.dscp", - const std::string i_namedb = "Local Database" - ); - - ~WxAnySimpleDlg(){}; - - void setExts(std::vector); - /// Callback to read file(s) - void OnReadFile(wxCommandEvent& event); - - /// Callback to read directory, no recursive - void OnReadDirectory(wxCommandEvent &event); - - /// Callback to select from creaImageIO database - void OnReadGimmick(wxCommandEvent &event); - - /// return a vtkImageData vector of selected images, if available - std::vector getVtkImagesSelected() {return m_Vresults;} - - wxString getInfoImage(); - - - void set(bool i_dicom){m_dicom= i_dicom;} - std::vector & getImagesSelected(){ return m_AnyImages;} - - // return the size of readed images - std::vector getDims(){ return m_AnyDims;} - - // return the type of readed images - std::vector getTypes(){ return m_AnyType;} - - // get an Image on wanted type - template - typename TImage::Pointer getImage(boost::any i_AnyImage) - { - typedef itk::Image ImageOut; - typename ImageOut::Pointer img = ImageOut::New(); - img = boost::any_cast< ImageOut::Pointer>(i_AnyImage); - return img; - } - - // get the images on itk type defined by user - template - std::vector getTemplatedImagesSelected() - { - std::vector imgs; - std::vector::iterator it = m_AnyImages.begin(); - for(; it != m_AnyImages.end(); it++) - { - imgs.push_back(boost::any_cast (*it)); - } - return imgs; - } - bool AllSameType(); - private: - - - std::vector m_AnyDims; - std::vector m_AnyType; - std::vector m_AnyImages; - std::vector m_exts; - std::string namedescp; - std::string namedb; - wxString infoimage; - std::string m_dir; - template - void split3Din3Dvtk(TImage* i_Img); - - template - void split4Din3Dvtk(TImage* i_Img); - - bool m_dicom; - /// interface to read data - SimpleView m_view; - void readImg(const std::string &i_name); - void readDicomImg(const std::vector &i_names); - std::vector m_Vresults; - - const size_t getNumberOfDimensions(const std::string &i_name); - const std::type_info & getType(const std::string &i_name); - }; - + /// Simple Wxwidgets interface to select file(s) or directory or from creaImageIO database to display +//EED class __declspec(dllexport) WxAnySimpleDlg : public wxDialog + class CREAIMAGEIO_EXPORT WxAnySimpleDlg : public wxDialog + { + public: + /// Ctor + WxAnySimpleDlg( wxWindow *parent, + wxString i_title =_T(""), + const std::string i_namedescp = "localdatabase_Descriptor.dscp", + const std::string i_namedb = "Local Database" + ); + + ~WxAnySimpleDlg(){}; + + void setExts(std::vector); + /// Callback to read file(s) + void OnReadFile(wxCommandEvent& event); + + /// Callback to read directory, no recursive + void OnReadDirectory(wxCommandEvent &event); + + /// Callback to select from creaImageIO database + void OnReadGimmick(wxCommandEvent &event); + + /// return a vtkImageData vector of selected images, if available + std::vector getVtkImagesSelected() {return m_Vresults;} + + wxString getInfoImage(); + + void set(bool i_dicom){m_dicom= i_dicom;} + std::vector & getImagesSelected(){ return m_AnyImages;} + + // return the size of readed images + //strange compile error // JPR + std::vector getDims(){ return m_AnyDims;} + + // return the type of readed images + std::vector getTypes(){ return m_AnyType;} + + // get an Image on wanted type + template + typename TImage::Pointer getImage(boost::any i_AnyImage) + { + typedef itk::Image ImageOut; + typename ImageOut::Pointer img = ImageOut::New(); + img = boost::any_cast< ImageOut::Pointer>(i_AnyImage); + return img; + } + + // get the images on itk type defined by user + template + std::vector getTemplatedImagesSelected() + { + std::vector imgs; + std::vector::iterator it = m_AnyImages.begin(); + for(; it != m_AnyImages.end(); it++) + { + imgs.push_back(boost::any_cast (*it)); + } + return imgs; + } + bool AllSameType(); + private: + + // strange compile error with gcc 4.5.1-4 //JPR + std::vector m_AnyDims; + std::vector m_AnyType; + std::vector m_AnyImages; + std::vector m_exts; + std::string namedescp; + std::string namedb; + wxString infoimage; + std::string m_dir; + template + void split3Din3Dvtk(TImage* i_Img); + + template + void split4Din3Dvtk(TImage* i_Img); + + bool m_dicom; + /// interface to read data + SimpleView m_view; + void readImg(const std::string &i_name); + void readDicomImg(const std::vector &i_names); + std::vector m_Vresults; + + const size_t getNumberOfDimensions(const std::string &i_name); + const std::type_info & getType(const std::string &i_name); + }; }