From 4d0e6ea16856f0165e6858a7e1044e35d7b94aa9 Mon Sep 17 00:00:00 2001 From: Eduardo Davila Date: Fri, 27 May 2011 13:48:09 +0000 Subject: [PATCH] no message --- .../wxContourMainFrame.cxx | 27 +++++++++---------- .../KernelManagerContour.cxx | 11 ++++++++ .../KernelManagerContour.h | 3 +++ 3 files changed, 26 insertions(+), 15 deletions(-) diff --git a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx index 6fbe98b..277a87a 100644 --- a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx +++ b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx @@ -2982,41 +2982,38 @@ void wxContourMainFrame::getMaskValue(vtkImageData ** mask,vtkImageData ** value void wxContourMainFrame::SaveImageResult(std::string directory,std::string namefile, vtkImageData* mask,vtkImageData* value) { + double spc[3]; + kernelManager->GetSpacing(spc,0); // returns the spacing of the first image + std::string temp = directory + "/" + namefile + "-image-Value.mhd"; wxString filename = crea::std2wx(temp); - // LG - // filename.Printf(_T(temp.c_str())); - //filename.Printf(_T("%s\\%s-Value.mhd",directory.c_str(),namefile.c_str(),z); - /*filename.Printf(_T("%s"),directory.c_str()); - filename.append(_T("\\")); - filename.append(_T("%s"),namefile.c_str()); - filename.append(_T("-Value.mhd"));*/ // Image Value + + vtkImageChangeInformation *valueChInfo = vtkImageChangeInformation::New(); + valueChInfo->SetInput(value); + valueChInfo->SetSpacingScale(spc); vtkMetaImageWriter *writerValueImage = vtkMetaImageWriter::New( ); - writerValueImage->SetInput( value ); - writerValueImage->SetInput( value ); + writerValueImage->SetInput( valueChInfo->GetOutput() ); writerValueImage->SetFileName( (const char *)filename.mb_str() ); writerValueImage->SetFileDimensionality( 3 ); writerValueImage->SetCompression(false); writerValueImage->Write( ); // Image Mask - // filename.Printf("%s\\%s-Mask.mhd",directory.c_str(),namefile.c_str(),z); temp = directory + "/" + namefile + "-image-Mask.mhd"; // LG 14/01/09 : using crea filename = crea::std2wx(temp); // filename.Printf(_T(temp.c_str())); - /*filename.Printf(_T("%s"),directory.c_str()); - filename.append(_T("\\")); - filename.append(_T("%s"),namefile.c_str()); - filename.append(_T("-Mask.mhd"));*/ + vtkImageChangeInformation *maskChInfo = vtkImageChangeInformation::New(); + maskChInfo->SetInput(mask); + maskChInfo->SetSpacingScale(spc); vtkMetaImageWriter *writerMaskImage = vtkMetaImageWriter::New( ); - writerMaskImage->SetInput( mask ); + writerMaskImage->SetInput( maskChInfo->GetOutput() ); writerMaskImage->SetFileName( (const char *)filename.mb_str() ); writerMaskImage->SetFileDimensionality( 3 ); writerMaskImage->SetCompression(false); diff --git a/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.cxx b/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.cxx index 236a515..1fb5e3f 100644 --- a/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.cxx +++ b/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.cxx @@ -77,6 +77,8 @@ std::vector KernelManagerContour::getVectImages() { return vectimages; } + + void KernelManagerContour::setVectImages(std::vector vectimg) { double spc[3]; @@ -103,6 +105,15 @@ void KernelManagerContour::setVectImages(std::vector vectimg) vectimages = vectimg; } + +void KernelManagerContour::GetSpacing(double *vecspc, int iImage) +{ + vecspc[0]=vectimagesSpacing[iImage][0]; + vecspc[1]=vectimagesSpacing[iImage][1]; + vecspc[2]=vectimagesSpacing[iImage][2]; +} + + void KernelManagerContour::initializeEnvironment(std::string datadir){ _datadir = datadir; std::string conceptsFN = datadir+"holaConceptsFile.cf"; diff --git a/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h b/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h index cb3eed5..2823883 100644 --- a/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h +++ b/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h @@ -47,6 +47,9 @@ public: std::vector getVectImages(); void setVectImages(std::vector vectimg); + void GetSpacing(double *vecspc, int iImage); + + /** ** This method returns the source of the image data selected by the user. */ -- 2.45.0