From: Eduardo DAVILA Date: Fri, 29 Nov 2013 16:37:44 +0000 (+0100) Subject: 2178 creaVtk Bug New High Error in creaVtkFromVtk4DToItk4 box output. X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=creaVtk.git;a=commitdiff_plain;h=3660a28d6652dc1e3dd19c2e6ecd57e864dc2fd6 2178 creaVtk Bug New High Error in creaVtkFromVtk4DToItk4 box output. --- diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkFromVtk4DToItk4D.h~ b/bbtk_creaVtk_PKG/src/bbcreaVtkFromVtk4DToItk4D.h~ deleted file mode 100644 index 584e159..0000000 --- a/bbtk_creaVtk_PKG/src/bbcreaVtkFromVtk4DToItk4D.h~ +++ /dev/null @@ -1,42 +0,0 @@ -//===== -// 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) -//===== -#ifndef __bbcreaVtkFromVtk4DToItk4D_h_INCLUDED__ -#define __bbcreaVtkFromVtk4DToItk4D_h_INCLUDED__ -#include "bbcreaVtk_EXPORT.h" -#include "bbtkAtomicBlackBox.h" -#include "iostream" -#include "vtkImageData.h" -#include -#include "itkImage.h" - -namespace bbcreaVtk -{ - -class bbcreaVtk_EXPORT FromVtk4DToItk4D - : - public bbtk::AtomicBlackBox -{ - BBTK_BLACK_BOX_INTERFACE(FromVtk4DToItk4D,bbtk::AtomicBlackBox); - - BBTK_DECLARE_INPUT(In,std::vector ); - //BBTK_DECLARE_OUTPUT(Out,std::vector >); - BBTK_PROCESS(Process); - void Process(); - -}; - -BBTK_BEGIN_DESCRIBE_BLACK_BOX(FromVtk4DToItk4D,bbtk::AtomicBlackBox); -BBTK_NAME("FromVtk4DToItk4D"); -BBTK_AUTHOR("Carlos Torres"); -BBTK_DESCRIPTION("carlos.torres@creatis.insa-lyon.fr -"); -BBTK_CATEGORY("empty"); -BBTK_INPUT(FromVtk4DToItk4D,In,"Vtk image 4D",std::vector,""); -//BBTK_OUTPUT(FromVtk4DToItk4D,Out,"Itk image 4D",std::vector >,""); -BBTK_END_DESCRIBE_BLACK_BOX(FromVtk4DToItk4D); - -} -// EO namespace bbcreaVtk - -#endif // __bbcreaVtkFromVtk4DToItk4D_h_INCLUDED__ - diff --git a/lib/creaVtk/creaVtkFromVtk4DToItk4D.cpp~ b/lib/creaVtk/creaVtkFromVtk4DToItk4D.cpp~ deleted file mode 100644 index a54c7d1..0000000 --- a/lib/creaVtk/creaVtkFromVtk4DToItk4D.cpp~ +++ /dev/null @@ -1,181 +0,0 @@ -/* -# --------------------------------------------------------------------- -# -# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image -# pour la Sante) -# 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. -# ------------------------------------------------------------------------ -*/ - -#include "creaVtkFromVtk4DToItk4D.h" -#include "itkImage.h" -#include "itkImageLinearConstIteratorWithIndex.h" -#include "itkImageRegionConstIterator.h" -#include "itkImageRegionIterator.h" -#include "itkImageFileReader.h" -#include - -template -creaVtkFromVtk4DToItk4D::creaVtkFromVtk4DToItk4D() -{ -} - -template -creaVtkFromVtk4DToItk4D::~creaVtkFromVtk4DToItk4D() -{ -} - -template -void creaVtkFromVtk4DToItk4D::SetImage4D(TImage *image) -{ - _image4D = image; -} - -template -void creaVtkFromVtk4DToItk4D::SetImage4Dvtk(std::vector image) -{ - image4Dvtk = image; -} - -template -std::vector > creaVtkFromVtk4DToItk4D::Process() -{ - /* - int dir; - double pv[65]; - int count = 0; - typedef itk::ImageLinearConstIteratorWithIndex< TImage > ConstIteratorType; - const unsigned int Dimension = 4; - typedef unsigned char PixelType; - typedef itk::Image< PixelType, Dimension > ImageType; - - ConstIteratorType inputIt( _image4D, inputRegion ); - inputIt.SetDirection(3); - inputIt.GoToBegin(); - - ImageType::RegionType outputRegion; - ImageType::RegionType::IndexType outputStart; - outputStart[0] = 0; - outputStart[1] = 0; - outputRegion.SetSize( size ); - outputRegion.SetIndex( outputStart ); - - while( !inputIt.IsAtEnd() ) - { - inputIt.GoToBeginOfLine(); - count = 0; - while( !inputIt.IsAtEndOfLine() ) - { - pv[count] = inputIt.Get(); - ++inputIt; - ++count; - } - } -*/ - const unsigned int Dimension = 4; - typedef unsigned char PixelType; - typedef itk::Image< PixelType, Dimension > ImageType; - typedef itk::ImageRegionConstIterator< ImageType > ConstIteratorType; - typedef itk::ImageRegionIterator< ImageType> IteratorType; - - //typedef itk::ImageFileReader< ImageType > ReaderType; - //typedef itk::ImageFileWriter< ImageType > WriterType; - - ImageType::RegionType inputRegion; - ImageType::RegionType::IndexType inputStart; - ImageType::RegionType::SizeType size; - inputStart[0] = ::atoi( "20" ); - inputStart[1] = ::atoi( "70" ); - size[0] = ::atoi( "210" ); - size[1] = ::atoi( "140" ); - inputRegion.SetSize( size ); - inputRegion.SetIndex( inputStart ); - - ImageType::RegionType outputRegion; - ImageType::RegionType::IndexType outputStart; - outputStart[0] = 0; - outputStart[1] = 0; - outputStart[2] = 0; - outputStart[3] = 0; - outputRegion.SetSize( size ); - outputRegion.SetIndex( outputStart ); - - /* - ReaderType::Pointer reader = ReaderType::New(); - reader->SetFileName( "foo.vtk" ); - try - { - reader->Update(); - } - catch ( itk::ExceptionObject &err) - { - std::cerr << "ExceptionObject caught !" << std::endl; - std::cerr << err << std::endl; - return -1; - } - - if ( ! reader->GetOutput()->GetRequestedRegion().IsInside( inputRegion ) ) - { - std::cerr << "Error" << std::endl; - std::cerr << "The region " << inputRegion << "is not contained within the input image region " - << reader->GetOutput()->GetRequestedRegion() << std::endl; - return -1; - }*/ - std::vector outputImage4D; - for(int k = 0 ; k < image4Dvtk.size() ; k++){ - ImageType::Pointer outputImage = ImageType::New(); - outputImage->SetRegions( outputRegion ); - const ImageType::SpacingType& spacing = image4Dvtk[k]->GetSpacing(); - const ImageType::PointType& inputOrigin = image4Dvtk[k]->GetOrigin(); - double outputOrigin[ Dimension ]; - for(unsigned int i=0; i< Dimension; i++) - { - outputOrigin[i] = inputOrigin[i] + spacing[i] * inputStart[i]; - } - outputImage->SetSpacing( spacing ); - outputImage->SetOrigin( outputOrigin ); - outputImage->Allocate(); - - ConstIteratorType inputIt( image4Dvtk[k], inputRegion ); - IteratorType outputIt( outputImage, outputRegion ); - inputIt.GoToBegin(); - outputIt.GoToBegin(); - - while( !outputIt.IsAtEnd() ) - { - outputIt.Set( inputIt.Get() ); - ++inputIt; - ++outputIt; - } - outputImage4D[k]=outputImage; - } - return outputImage4D; -} -//--------------------------------------------- -//Method template -//--------------------------------------------- -/* -void creaVtkFromVtk4DToItk4D::FunctionName(int& parameterA) -{ - parameterA = 2 * parameterA; - return; -} -*/ diff --git a/lib/creaVtk/creaVtkFromVtk4DToItk4D.h~ b/lib/creaVtk/creaVtkFromVtk4DToItk4D.h~ deleted file mode 100644 index fa0a29f..0000000 --- a/lib/creaVtk/creaVtkFromVtk4DToItk4D.h~ +++ /dev/null @@ -1,51 +0,0 @@ -/* -# --------------------------------------------------------------------- -# -# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image -# pour la Sante) -# 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 _CREAVTKFROMVTK4DTOITK4D_H_ -#define _CREAVTKFROMVTK4DTOITK4D_H_ -#include "vtkImageData.h" -#include -#include "itkImage.h" -template -class creaVtkFromVtk4DToItk4D -{ -public : - creaVtkFromVtk4DToItk4D(); - ~creaVtkFromVtk4DToItk4D(); - void SetImage4D(TImage *image); - void SetImage4Dvtk(std::vector image); - //std::vector > Process(); - -protected: - -private: - TImage* _image4D; - std::vector image4Dvtk; -}; - -//-end of _CREAVTKFROMVTK4DTOITK4D_H_------------------------------------------------------ -#endif