X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FcreaImageIOWxAnySimpleDlg.h;h=51674d3f6ac4b5136f0e919ee2327ea2793e942f;hb=e512772003e71d7505c469967730c9e6b562e9a0;hp=9bbde5a0d38c4943edbdd285c023e0a73db0fefc;hpb=9a9644bf6a172dbc5e878aee55b3336fb0b1176b;p=creaImageIO.git diff --git a/src/creaImageIOWxAnySimpleDlg.h b/src/creaImageIOWxAnySimpleDlg.h index 9bbde5a..51674d3 100644 --- a/src/creaImageIOWxAnySimpleDlg.h +++ b/src/creaImageIOWxAnySimpleDlg.h @@ -1,14 +1,46 @@ +/* +# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la Santé) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# Previous Authors : Laurent Guigues, Jean-Pierre Roux +# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ +*/ + + +#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 +51,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 +75,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 +91,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 +106,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 +149,6 @@ namespace creaImageIO const std::type_info & getType(const std::string &i_name); }; -} + +}// namespace creaImageIO +#endif //__creaImageWxAnySimpleDlg_h_INCLUDED__