X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=common%2FclitkIOCommon.cxx;fp=common%2FclitkIOCommon.cxx;h=0000000000000000000000000000000000000000;hb=9284f78523ef4469d086d04c1bcd791ce00575d1;hp=16ec36127d677b7b3cf377d0b32f007666dddf17;hpb=e534754cde3aee05927b1ca4aa6962dc05ee0322;p=clitk.git diff --git a/common/clitkIOCommon.cxx b/common/clitkIOCommon.cxx deleted file mode 100644 index 16ec361..0000000 --- a/common/clitkIOCommon.cxx +++ /dev/null @@ -1,157 +0,0 @@ -/*========================================================================= - -Program: clitk -Language: C++ - -Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de -l'Image). All rights reserved. See Doc/License.txt or -http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details. - -This software is distributed WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -PURPOSE. See the above copyright notices for more information. - -=========================================================================*/ - -#ifndef CLITKIOCOMMON_CXX -#define CLITKIOCOMMON_CXX - -/** - ================================================= - * @file clitkIOCommon.cxx - * @author David Sarrut - * @date 18 May 2006 11:42:37 - * - * @brief - * - * - =================================================*/ - -// clitk include -#include "clitkIOCommon.h" - -//==================================================================== -// Open a file for reading -void clitk::openFileForReading(std::ifstream & is, const std::string & filename) { - is.open(filename.c_str(), std::ios::in); - if ( is.fail() ) { - itkGenericExceptionMacro(<< "Could not open file (for reading): " << filename); - } -} -//==================================================================== - -//==================================================================== -// Open a file for writing -void clitk::openFileForWriting(std::ofstream & os, const std::string & filename) { - os.open(filename.c_str(), std::ios::out); - if ( os.fail() ) { - itkGenericExceptionMacro(<< "Could not open file (for writing): " << filename); - } -} -//==================================================================== - -//==================================================================== -// Read a dicom header -gdcm::File * clitk::readDicomHeader(const std::string & filename, - const bool verbose) { - if (verbose) { - std::cout << "Reading DICOM <" << filename << ">" << std::endl; - } - gdcm::File *header = new gdcm::File(); - header->SetFileName(filename); - header->SetMaxSizeLoadEntry(16384); // required ? - header->Load(); - return header; -} -//==================================================================== - -//==================================================================== -itk::ImageIOBase::Pointer clitk::readImageHeader(const std::string & filename) { - itk::ImageIOBase::Pointer reader = - itk::ImageIOFactory::CreateImageIO(filename.c_str(), itk::ImageIOFactory::ReadMode); - if (!reader) return NULL; - reader->SetFileName(filename); - reader->ReadImageInformation(); - return reader; -} -//==================================================================== - -//==================================================================== -void clitk::printImageHeader(itk::ImageIOBase::Pointer header, std::ostream & os, const int level) { - unsigned int dim = header->GetNumberOfDimensions(); - std::string pixelTypeName = header->GetComponentTypeAsString(header->GetComponentType()); - std::vector inputSize; - std::vector inputSpacing; - inputSize.resize(dim); - inputSpacing.resize(dim); - for(unsigned int i=0; iGetSpacing(i); - inputSize[i] = header->GetDimensions(i); - } - int pixelSize = - clitk::GetTypeSizeFromString(header->GetComponentTypeAsString(header->GetComponentType())); - unsigned int nbOfComponents = header->GetNumberOfComponents(); - if (level == 0) { - os << dim << "D "; - if (nbOfComponents !=1) os << nbOfComponents << "x" << pixelTypeName; - else os << pixelTypeName; - os << " "; - for(unsigned int i=0; i< dim-1; i++) - os << inputSize[i] << "x"; - os << inputSize[dim-1] - << " "; - for(unsigned int i=0; i< dim-1; i++) - os << inputSpacing[i] << "x"; - os << inputSpacing[dim-1]; - } - else { - os << "Dim = " << dim << "D" << std::endl; - os << "PixelType = " << pixelTypeName << std::endl; - if (nbOfComponents > 1) - os << "Vector = " << nbOfComponents << std::endl; - os << "Size = "; - for(unsigned int i=0; i< dim; i++) { - os << inputSize[i] << " "; - } - os << std::endl; - os << "Spacing = "; - for(unsigned int i=0; i< dim; i++) { - os << inputSpacing[i] << " "; - } - os << std::endl; - if (level > 1) { - os << "# voxels = " << header->GetImageSizeInPixels() << std::endl; - os << "Size (mm) = "; - for(unsigned int i=0; i< dim; i++) { - os << inputSize[i]*inputSpacing[i] << " "; - } - os << "mm" << std::endl; - os << "Volume = "; - double vol=1.0; - for(unsigned int i=0; i< dim; i++) { - vol *= inputSize[i]*inputSpacing[i]/10.0; - } - os << vol << " cc" << std::endl; - int mem = header->GetImageSizeInPixels()*pixelSize*nbOfComponents; - double memKb = (double)mem/1024.0; - double memMb = (double)mem/1024.0/1024.0; - double memGb = (double)mem/1024.0/1024.0/1024.0; - if (lrint(memKb) <= 0) - os << "Memory = " << mem << " bytes" << std::endl; - else { - if (lrint(memMb) <= 0) - os << "Memory = " << memKb << " Kb (" << mem << " bytes)" << std::endl; - else { - if (lrint(memGb) <= 0) - os << "Memory = " << memMb << " Mb (" << mem << " bytes)" << std::endl; - else - os << "Memory = " << memGb << " Gb (" << mem << " bytes)" << std::endl; - } - } - } - } -} -//==================================================================== - -#endif /* end #define CLITKIO_CXX */ -