+//------------------------------------------------------------------------------
+void vvToolStructureSetManager::AddImage(vvImage::Pointer binaryImage, std::string filename, double BG, bool m_modeBG)
+{
+ // Check current structure set
+ int index;
+ if (mCurrentStructureSet == NULL) {
+ if (mStructureSetsList.size() == 0) { // Create a default SS
+ clitk::DicomRT_StructureSet * mStructureSet = new clitk::DicomRT_StructureSet;
+ index = AddStructureSet(mStructureSet);
+ }
+ else { // Get first SS
+ index = 0;
+ }
+ } else {
+ index = mCurrentStructureSetIndex;
+ }
+ mCurrentStructureSet = mStructureSetsList[index];
+ mCurrentStructureSetActor = mStructureSetActorsList[index];
+ mCurrentStructureSetIndex = index;
+
+ // Check Dimension
+ int dim = mCurrentImage->GetNumberOfDimensions();
+ int bin_dim = binaryImage->GetNumberOfDimensions();
+ if (dim < bin_dim) { ////////// TO CHANGE FOR 3D/4D
+ std::ostringstream os;
+ os << "Error. Loaded binary image is " << bin_dim
+ << "D while selected image is " << dim << "D" << std::endl;
+ QMessageBox::information(this,tr("Reading problem"),os.str().c_str());
+ return;
+ }
+
+ // Add a new roi to the structure
+ int n = mCurrentStructureSet->AddBinaryImageAsNewROI(binaryImage, filename);
+ mLoadedROIIndex.push_back(n);
+ if (m_modeBG)
+ mCurrentStructureSet->GetROI(n)->SetBackgroundValueLabelImage(BG);
+ else
+ mCurrentStructureSet->GetROI(n)->SetForegroundValueLabelImage(BG);
+
+ // Change color
+ if (n<mDefaultLUTColor->GetNumberOfTableValues ()) {
+ double * color = mDefaultLUTColor->GetTableValue(n % mDefaultLUTColor->GetNumberOfTableValues ());
+ mCurrentStructureSet->GetROI(n)->SetDisplayColor(color[0], color[1], color[2]);
+ }
+
+ // Add a new roi actor
+ mCurrentStructureSetActor->CreateNewROIActor(n, m_modeBG);
+
+ // CheckBox for "All"
+ if (mCurrentStructureSetActor->GetROIActor(n)->IsVisible())
+ mNumberOfVisibleROI++;
+ if (mCurrentStructureSetActor->GetROIActor(n)->IsContourVisible())
+ mNumberOfVisibleContourROI++;
+ UpdateAllROIStatus();
+}
+//------------------------------------------------------------------------------
+
+