X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FcreaImageIOWxAnySimpleDlg.h;h=df248194e422405edfd7a69d4515ae6bfd69194a;hb=refs%2Fheads%2Fvtk7itk4;hp=eb10d1e2fb0084a259fa7331ec07f1c536c81110;hpb=e0a559861dcfa6732d80b3158eb2906ca650d5d4;p=creaImageIO.git diff --git a/src/creaImageIOWxAnySimpleDlg.h b/src/creaImageIOWxAnySimpleDlg.h index eb10d1e..df24819 100644 --- a/src/creaImageIOWxAnySimpleDlg.h +++ b/src/creaImageIOWxAnySimpleDlg.h @@ -1,13 +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 @@ -18,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(){}; @@ -42,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) { @@ -57,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 @@ -71,24 +106,47 @@ 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()); + +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + im->Update(); +#else + im->Modified(); +#endif + + + 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 +157,6 @@ namespace creaImageIO const std::type_info & getType(const std::string &i_name); }; -} + +}// namespace creaImageIO +#endif //__creaImageWxAnySimpleDlg_h_INCLUDED__