X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FcreaImageIOWxAnySimpleDlg.h;h=49218a14213b83f2c962e6352e4ef73c415c93b0;hb=571ba36f99e308623afc6f6cd0e7e3ae0a4bc09e;hp=eb10d1e2fb0084a259fa7331ec07f1c536c81110;hpb=e0a559861dcfa6732d80b3158eb2906ca650d5d4;p=creaImageIO.git diff --git a/src/creaImageIOWxAnySimpleDlg.h b/src/creaImageIOWxAnySimpleDlg.h index eb10d1e..49218a1 100644 --- a/src/creaImageIOWxAnySimpleDlg.h +++ b/src/creaImageIOWxAnySimpleDlg.h @@ -1,13 +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 @@ -18,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(){}; @@ -42,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) { @@ -57,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 @@ -71,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); @@ -99,4 +123,6 @@ namespace creaImageIO const std::type_info & getType(const std::string &i_name); }; -} + +}// namespace creaImageIO +#endif //__creaImageWxAnySimpleDlg_h_INCLUDED__