X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk%2Fsrc%2FbbcreaImageIOItkImagesChooserDialogBox.cxx;h=b3b8552023d5bb8675eeb0fff46694bfb0ab26a4;hb=c7482ec7d04a5e5987841932a6856ebd471cebdb;hp=4986d2cf83d4eca990327424730a3ed1114660ea;hpb=758643070bd81cba668e856558e27cc389090a84;p=creaImageIO.git diff --git a/bbtk/src/bbcreaImageIOItkImagesChooserDialogBox.cxx b/bbtk/src/bbcreaImageIOItkImagesChooserDialogBox.cxx index 4986d2c..b3b8552 100644 --- a/bbtk/src/bbcreaImageIOItkImagesChooserDialogBox.cxx +++ b/bbtk/src/bbcreaImageIOItkImagesChooserDialogBox.cxx @@ -1,3 +1,29 @@ +/* + # --------------------------------------------------------------------- + # + # 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. + # ------------------------------------------------------------------------ +*/ //===== // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) //===== @@ -16,36 +42,41 @@ BBTK_BLACK_BOX_IMPLEMENTATION(ItkImagesChooserDialogBox,bbtk::AtomicBlackBox); void ItkImagesChooserDialogBox::Process() { - dlg = new creaImageIO::WxAnySimpleDlg(0,crea::std2wx(bbGetInputTitle()),"localdatabase_Descriptor.dscp","Local Database"); + dlg = new creaImageIO::WxAnySimpleDlg(0,crea::std2wx(bbGetInputTitle()),"localdatabase_Descriptor.dscp","Local Database"); dlg->ShowModal(); - bbtk::TypeInfo typ = bbitk::GetITKImagePtrTypeInfoFromPixelTypeInfoAndDimension(*dlg->getTypes().front(), dlg->getDims().front()); - BBTK_TEMPLATE_ITK_IMAGE_SWITCH(typ, Export); - bbSetOutputOutVImages(dlg->getVtkImagesSelected()); - delete dlg; + bbtk::TypeInfo typ = bbitk::GetITKImagePtrTypeInfoFromPixelTypeInfoAndDimension(*dlg->getTypes().front(), dlg->getDims().front()); + BBTK_TEMPLATE_ITK_IMAGE_SWITCH(typ, Export); + BBTK_TEMPLATE_ITK_IMAGE_SWITCH(typ, ExportVTK); + + delete dlg; } + template void ItkImagesChooserDialogBox::Export() { - if (dlg->getImagesSelected().size() == 1) - { + if (dlg->getImagesSelected().size() == 1) + { bbSetOutputOut( dlg->getTemplatedImagesSelected().front().GetPointer() ); - } - else if (dlg->getImagesSelected().size() > 1) - { - OutputImagesITKType outVect; - std::vector tempImgs= dlg->getTemplatedImagesSelected(); - std::vector::iterator it = tempImgs.begin(); - for(;it != tempImgs.end(); ++it) - { - outVect.push_back( (*it).GetPointer() ); - } - bbSetOutputOutIImages( outVect); - } - else - { - bbSetOutputOut( NULL); - } + } + else if (dlg->getImagesSelected().size() > 1) + { + OutputImagesITKType outVect; + + typename std::vector tempImgs= dlg->getTemplatedImagesSelected(); + typename std::vector::iterator it = tempImgs.begin(); + for(;it != tempImgs.end(); ++it) + { + outVect.push_back( (*it).GetPointer() ); + } + bbSetOutputOutIImages( outVect); + } + else + { + // warning: passing NULL to non-pointer + //bbSetOutputOut( NULL); + bbSetOutputOut(0); // JPR + } // FCY To test the Output //typedef itk::Image ImageType; //typedef itk::ImageFileReader< ImageType > itkReaderType; @@ -56,14 +87,39 @@ void ItkImagesChooserDialogBox::Export() //reader->GetOutput()->Register(); // this->bbSetOutputOut(reader->GetOutput()); } +template +void ItkImagesChooserDialogBox::ExportVTK() +{ + // BBTK can support only a vector with same dimensions image. + if (dlg->getDims().front() < 4) + { + typename std::vector tempImgs= dlg->getTemplatedImagesSelected(); + typename std::vector::iterator it = tempImgs.begin(); + for(;it != tempImgs.end(); ++it) + { + dlg->split3Din3Dvtk( (*it) ); + } + bbSetOutputOutVImages( dlg->getVtkImagesSelected() ); + } + else if (dlg->getDims().front() == 4) + { + // To Test + // dlg->split4Din3Dvtk("d:/temp2"); + // bbSetOutputOutVImages( dlg->getVtkImagesSelected()); + } + else + { + // NOT IMPLEMENTED YET FOR DIMENSIONS > 4 + + } + +} //===== // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) //===== void ItkImagesChooserDialogBox::bbUserSetDefaultValues() { - - } //===== // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) @@ -81,5 +137,3 @@ void ItkImagesChooserDialogBox::bbUserFinalizeProcessing() } } // EO namespace bbcreaImageIO - -