X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FclitkDicomRTStruct2ImageFilter.cxx;h=e52fc0f17be8a3e16acee8517409b5b224205615;hb=292caf3cde03e7d88a074282ead314b0e2688a83;hp=1541cb28f46f794e1ad274e12cb8c94c33bf9313;hpb=243b931a3f9d65c94e076d22a0395b894ef3f660;p=clitk.git diff --git a/common/clitkDicomRTStruct2ImageFilter.cxx b/common/clitkDicomRTStruct2ImageFilter.cxx index 1541cb2..e52fc0f 100644 --- a/common/clitkDicomRTStruct2ImageFilter.cxx +++ b/common/clitkDicomRTStruct2ImageFilter.cxx @@ -49,10 +49,22 @@ clitk::DicomRTStruct2ImageFilter::~DicomRTStruct2ImageFilter() } //-------------------------------------------------------------------- + +//-------------------------------------------------------------------- bool clitk::DicomRTStruct2ImageFilter::ImageInfoIsSet() const { return mSize.size() && mSpacing.size() && mOrigin.size(); } +//-------------------------------------------------------------------- + + +//-------------------------------------------------------------------- +void clitk::DicomRTStruct2ImageFilter::SetWriteOutputFlag(bool b) +{ + mWriteOutput = b; +} +//-------------------------------------------------------------------- + //-------------------------------------------------------------------- void clitk::DicomRTStruct2ImageFilter::SetROI(clitk::DicomRT_ROI * roi) @@ -79,6 +91,25 @@ void clitk::DicomRTStruct2ImageFilter::SetOutputImageFilename(std::string s) //-------------------------------------------------------------------- +//-------------------------------------------------------------------- +void clitk::DicomRTStruct2ImageFilter::SetImage(vvImage::Pointer image) +{ + if (image->GetNumberOfDimensions() != 3) { + std::cerr << "Error. Please provide a 3D image." << std::endl; + exit(0); + } + mSpacing.resize(3); + mOrigin.resize(3); + mSize.resize(3); + for(unsigned int i=0; i<3; i++) { + mSpacing[i] = image->GetSpacing()[i]; + mOrigin[i] = image->GetOrigin()[i]; + mSize[i] = image->GetSize()[i]; + } +} +//-------------------------------------------------------------------- + + //-------------------------------------------------------------------- void clitk::DicomRTStruct2ImageFilter::SetImageFilename(std::string f) { @@ -101,24 +132,35 @@ void clitk::DicomRTStruct2ImageFilter::SetImageFilename(std::string f) } //-------------------------------------------------------------------- + +//-------------------------------------------------------------------- void clitk::DicomRTStruct2ImageFilter::SetOutputOrigin(const double* origin) { std::copy(origin,origin+3,std::back_inserter(mOrigin)); } +//-------------------------------------------------------------------- + + //-------------------------------------------------------------------- void clitk::DicomRTStruct2ImageFilter::SetOutputSpacing(const double* spacing) { std::copy(spacing,spacing+3,std::back_inserter(mSpacing)); } +//-------------------------------------------------------------------- + + //-------------------------------------------------------------------- void clitk::DicomRTStruct2ImageFilter::SetOutputSize(const unsigned long* size) { std::copy(size,size+3,std::back_inserter(mSize)); } +//-------------------------------------------------------------------- + //-------------------------------------------------------------------- void clitk::DicomRTStruct2ImageFilter::Update() { + DD("DicomRTStruct2ImageFilter::Update"); if (!mROI) { std::cerr << "Error. No ROI set, please use SetROI." << std::endl; exit(0); @@ -129,7 +171,7 @@ void clitk::DicomRTStruct2ImageFilter::Update() } // Get Mesh - vtkPolyData * mesh = mROI->GetMesh(); + vtkPolyData * mesh = mROI->GetMesh(); // Get bounds double *bounds=mesh->GetBounds();