X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FvvImageReader.txx;h=551f1139691d31eb944a721741a740a18644a3dd;hb=3c408355c0ce7a9927b16e9bd98764c995d10a72;hp=6a4333ff3c59c055c704117954747e7f656a133b;hpb=5312281fb385245fff3d64693e1549ffc27206e4;p=clitk.git diff --git a/common/vvImageReader.txx b/common/vvImageReader.txx index 6a4333f..551f113 100644 --- a/common/vvImageReader.txx +++ b/common/vvImageReader.txx @@ -23,7 +23,6 @@ #include #include #include -#include #include #include @@ -73,8 +72,6 @@ void vvImageReader::UpdateWithDim(std::string InputPixelType) template void vvImageReader::UpdateWithDimAndInputPixelType() { - itk::AnalyzeImageIO *analyzeImageIO = NULL; - if (mType == MERGEDWITHTIME) // In this case we can load the images // one at the time to avoid excessive // memory use @@ -89,6 +86,7 @@ void vvImageReader::UpdateWithDimAndInputPixelType() reader->SetFileName(*i); try { mImage->AddItkImage(reader->GetOutput()); + mImage->ComputeScalarRangeBase(reader->GetOutput()); } catch ( itk::ExceptionObject & err ) { std::cerr << "Error while reading " << mInputFilenames[0].c_str() << " " << err << std::endl; @@ -97,7 +95,6 @@ void vvImageReader::UpdateWithDimAndInputPixelType() mLastError = error.str(); return; } - analyzeImageIO = dynamic_cast( reader->GetImageIO() ); } } else if (mType == SLICED) { mImage=vvImage::New(); @@ -129,12 +126,12 @@ void vvImageReader::UpdateWithDimAndInputPixelType() #endif try { mImage->AddItkImage(filter->GetOutput()); + mImage->ComputeScalarRangeBase(filter->GetOutput()); } catch ( itk::ExceptionObject & err ) { std::cerr << "Error while slicing " << mInputFilenames[0].c_str() << "(slice #" << mSlice << ") " << err << std::endl; return; } - analyzeImageIO = dynamic_cast( reader->GetImageIO() ); } else { if (mInputFilenames.size() > 1) { typedef itk::Image< InputPixelType, VImageDimension > InputImageType; @@ -177,22 +174,6 @@ void vvImageReader::UpdateWithDimAndInputPixelType() mLastError = error.str(); return; } - analyzeImageIO = dynamic_cast( reader->GetImageIO() ); - } - } - - // For unknown analyze orientations, we set identity - if(analyzeImageIO) { - const double m[16] = {1.,0.,0.,0., - 0.,0.,1.,0., - 0.,-1.,0.,0., - 0.,0.,0.,1.}; - int i; - for(i=0; i<16 && m[i]==mImage->GetTransform()->GetMatrix()->GetElement(i%4, i/4); i++); - if(i==16) { - itkWarningMacro(<< "Analyze image file format detected with unknown orientation. " - << "Forcing identity orientation, use other file format if not ok."); - mImage->GetTransform()->Identity(); } } } @@ -202,8 +183,6 @@ void vvImageReader::UpdateWithDimAndInputPixelType() template void vvImageReader::UpdateWithDimAndInputVectorPixelType() { - itk::AnalyzeImageIO *analyzeImageIO = NULL; - typedef itk::Image< InputPixelType, VImageDimension > InputImageType; typename InputImageType::Pointer input; @@ -238,7 +217,6 @@ void vvImageReader::UpdateWithDimAndInputVectorPixelType() mLastError = error.str(); return; } - analyzeImageIO = dynamic_cast( reader->GetImageIO() ); } typedef itk::Image< itk::Vector, VImageDimension > VectorImageType; @@ -250,24 +228,6 @@ void vvImageReader::UpdateWithDimAndInputVectorPixelType() casted_input = caster->GetOutput(); mImage = vvImageFromITK >(casted_input, mType == IMAGEWITHTIME || mType == VECTORFIELDWITHTIME); - - // For unknown analyze orientations, we set identity - if (analyzeImageIO) - { - const double m[16] = {1.,0.,0.,0., - 0.,0.,1.,0., - 0.,-1.,0.,0., - 0.,0.,0.,1.}; - int i; - for (i = 0; i < 16 && m[i] == mImage->GetTransform()->GetMatrix()->GetElement(i % 4, i / 4); i++) - ; - if (i == 16) - { - itkWarningMacro(<< "Analyze image file format detected with unknown orientation. " - << "Forcing identity orientation, use other file format if not ok."); - mImage->GetTransform()->Identity(); - } - } } //----------------------------------------------------------------------------