mColor.resize(3);
mColor[0] = mColor[1] = mColor[2] = 0;
mMeshIsUpToDate = false;
+ mBackgroundValue = 0;
+ mForegroundValue = 1;
+ mZDelta = 0;
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
+//--------------------------------------------------------------------
+const std::string & clitk::DicomRT_ROI::GetFilename() const
+{
+ return mFilename;
+}
+//--------------------------------------------------------------------
+
+
//--------------------------------------------------------------------
const std::vector<double> & clitk::DicomRT_ROI::GetDisplayColor() const
{
//--------------------------------------------------------------------
+//--------------------------------------------------------------------
+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();
+ }
}
}
//--------------------------------------------------------------------
+//--------------------------------------------------------------------
+void clitk::DicomRT_ROI::SetImage(vvImage * image)
+{
+ mImage = image;
+}
+//--------------------------------------------------------------------
+
+
//--------------------------------------------------------------------
vtkPolyData * clitk::DicomRT_ROI::GetMesh()
{
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,
- std::string name,
- std::vector<double> color)
+ std::string name,
+ std::vector<double> color,
+ std::string filename)
{
// ROI number [Referenced ROI Number]
// ROI Name
mName = name;
+ mFilename = filename;
// ROI Color [ROI Display Color]
mColor = color;