mColor.resize(3);
mColor[0] = mColor[1] = mColor[2] = 0;
mMeshIsUpToDate = false;
+ mBackgroundValue = 0;
+ mForegroundValue = 1;
+ mZDelta = 0;
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
clitk::DicomRT_ROI::~DicomRT_ROI()
{
-
+ mImage->Delete();
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
+//--------------------------------------------------------------------
+void clitk::DicomRT_ROI::SetForegroundValueLabelImage(double bg)
+{
+ mForegroundValue = bg;
+}
+//--------------------------------------------------------------------
+
+
+//--------------------------------------------------------------------
+double clitk::DicomRT_ROI::GetForegroundValueLabelImage() const
+{
+ return mForegroundValue;
+}
+//--------------------------------------------------------------------
+
+
//--------------------------------------------------------------------
void clitk::DicomRT_ROI::Read(std::map<int, std::string> & rois, gdcm::SQItem * item)
{
// 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();
+ }
}
}
//--------------------------------------------------------------------
return mMesh;
}
//--------------------------------------------------------------------
-
+clitk::DicomRT_Contour * clitk::DicomRT_ROI::GetContour(int n)
+{
+ return mListOfContours[n];
+}
//--------------------------------------------------------------------
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<double> color,
std::string filename)
//--------------------------------------------------------------------
-const vvImage::Pointer clitk::DicomRT_ROI::GetImage() const
+vvImage * clitk::DicomRT_ROI::GetImage() const
{
return mImage;
}