X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FclitkDicomRT_ROI.cxx;h=6bb2e25c7ff4dd51bba141ce16846764f5657dfe;hb=dd96575fcb3e3af28160766907f68e34dfbf1ba2;hp=eb1510530450cc50fd437f5534024cace98897ca;hpb=303324c27d660280e3ed0a3f40b10bb1bbd5d0c8;p=clitk.git diff --git a/common/clitkDicomRT_ROI.cxx b/common/clitkDicomRT_ROI.cxx index eb15105..6bb2e25 100644 --- a/common/clitkDicomRT_ROI.cxx +++ b/common/clitkDicomRT_ROI.cxx @@ -31,6 +31,7 @@ clitk::DicomRT_ROI::DicomRT_ROI() mMeshIsUpToDate = false; mBackgroundValue = 0; mForegroundValue = 1; + mZDelta = 0; } //-------------------------------------------------------------------- @@ -38,7 +39,7 @@ clitk::DicomRT_ROI::DicomRT_ROI() //-------------------------------------------------------------------- clitk::DicomRT_ROI::~DicomRT_ROI() { - + mImage->Delete(); } //-------------------------------------------------------------------- @@ -147,10 +148,24 @@ void clitk::DicomRT_ROI::Read(std::map & rois, gdcm::SQItem * // Read contours [Contour Sequence] gdcm::SeqEntry * contours=item->GetSeqEntry(0x3006,0x0040); + bool contour_processed=false; + bool delta_computed=false; + double last_z=0; for(gdcm::SQItem* j=contours->GetFirstSQItem(); j!=0; j=contours->GetNextSQItem()) { DicomRT_Contour * c = new DicomRT_Contour; bool b = c->Read(j); - if (b) mListOfContours.push_back(c); + if (b) { + mListOfContours.push_back(c); + if (contour_processed) { + double delta=c->GetZ() - last_z; + if (delta_computed) + assert(mZDelta == delta); + else + mZDelta = delta; + } else + contour_processed=true; + last_z=c->GetZ(); + } } } //-------------------------------------------------------------------- @@ -193,7 +208,7 @@ void clitk::DicomRT_ROI::ComputeMesh() //-------------------------------------------------------------------- -void clitk::DicomRT_ROI::SetFromBinaryImage(vvImage::Pointer image, int n, +void clitk::DicomRT_ROI::SetFromBinaryImage(vvImage * image, int n, std::string name, std::vector color, std::string filename) @@ -219,7 +234,7 @@ void clitk::DicomRT_ROI::SetFromBinaryImage(vvImage::Pointer image, int n, //-------------------------------------------------------------------- -const vvImage::Pointer clitk::DicomRT_ROI::GetImage() const +vvImage * clitk::DicomRT_ROI::GetImage() const { return mImage; }