X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FcreaImageIOWxAnySimpleDlg.h;h=49218a14213b83f2c962e6352e4ef73c415c93b0;hb=cc87ce2c00fc2ec3cc2fefc4375b53f7e16ff6fa;hp=9bbde5a0d38c4943edbdd285c023e0a73db0fefc;hpb=9a9644bf6a172dbc5e878aee55b3336fb0b1176b;p=creaImageIO.git diff --git a/src/creaImageIOWxAnySimpleDlg.h b/src/creaImageIOWxAnySimpleDlg.h index 9bbde5a..49218a1 100644 --- a/src/creaImageIOWxAnySimpleDlg.h +++ b/src/creaImageIOWxAnySimpleDlg.h @@ -1,14 +1,20 @@ +#ifndef __creaImageWxAnySimpleDlg_h_INCLUDED__ +#define __creaImageWxAnySimpleDlg_h_INCLUDED__ + + #include "creaImageIOSimpleView.h" #include #include #include #include +#include "itkImageToVTKImageFilter.h" + namespace creaImageIO { /** - * \ingroup View - */ + * \ingroup View + */ /// Simple Wxwidgets interface to select file(s) or directory or from creaImageIO database to display //EED class __declspec(dllexport) WxAnySimpleDlg : public wxDialog @@ -19,8 +25,8 @@ namespace creaImageIO WxAnySimpleDlg( wxWindow *parent, wxString i_title =_T(""), const std::string i_namedescp = "localdatabase_Descriptor.dscp", - const std::string i_namedb = "Local Database" - ); + const std::string i_namedb = "Local Database" + ); ~WxAnySimpleDlg(){}; @@ -43,13 +49,14 @@ namespace creaImageIO std::vector & getImagesSelected(){ return m_AnyImages;} // return the size of readed images - //strange compile error // JPR - std::vector getDims(){ return m_AnyDims;} + std::vector getDims(){ return m_AnyDims;} // comment out const // JPR // return the type of readed images - std::vector getTypes(){ return m_AnyType;} + std::vector getTypes(){ return m_AnyType;} // comment out const // JPR // get an Image on wanted type + /* + // strange compile error, commented out on Fred's advice // JPR template typename TImage::Pointer getImage(boost::any i_AnyImage) { @@ -58,6 +65,7 @@ namespace creaImageIO img = boost::any_cast< ImageOut::Pointer>(i_AnyImage); return img; } + */ // get the images on itk type defined by user template @@ -72,24 +80,39 @@ namespace creaImageIO return imgs; } bool AllSameType(); + template + void split3Din3Dvtk(TImage* i_Img) + { + typedef itk::ImageToVTKImageFilter< TImage > ConnectorType; + typename ConnectorType::Pointer connector = ConnectorType::New(); + connector->SetInput(i_Img); + connector->GetImporter()->SetDataScalarTypeToUnsignedChar(); + connector->Update(); + vtkImageData *im = vtkImageData::New(); + im->ShallowCopy(connector->GetOutput()); + im->Update(); + m_Vresults.push_back(im); + } + + + template + void split4Din3Dvtk(TImage* i_Img); + + 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_AnyDims; //comment out const JPR + std::vector m_AnyType; //comment out const JPR + std::vector m_AnyImages; //comment out const JPR 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; + bool m_dicom; /// interface to read data SimpleView m_view; void readImg(const std::string &i_name); @@ -100,4 +123,6 @@ namespace creaImageIO const std::type_info & getType(const std::string &i_name); }; -} + +}// namespace creaImageIO +#endif //__creaImageWxAnySimpleDlg_h_INCLUDED__