mNumberOfVisibleROI = 0;
mNumberOfVisibleContourROI = 0;
mDefaultLUTColor = vtkLookupTable::New();
- for(unsigned int i=0; i<mDefaultLUTColor->GetNumberOfTableValues(); i++) {
+ for(int i=0; i<mDefaultLUTColor->GetNumberOfTableValues(); i++) {
double r = (rand()/(RAND_MAX+1.0));
double v = (rand()/(RAND_MAX+1.0));
double b = (rand()/(RAND_MAX+1.0));
}
else {
MustOpenDialogWhenCreated = false;
- buttonBox->setEnabled(true);
+ mMainButtonBox->setEnabled(true);
mCurrentSlicerManager = current;
mCurrentImage = mCurrentSlicerManager->GetImage();
mToolWidget->setEnabled(true);
vvToolStructureSetManager::~vvToolStructureSetManager()
{
m_NumberOfTool--;
+ mStructureSetActorsList.clear();
+ mMapROIToTreeWidget.clear();
+
+ /*
+ for(uint i=0; i<mStructureSetsList[0]->GetListOfROI().size();i++) {
+ DD(i);
+ DD(mStructureSetsList[0]->GetROI(i)->GetImage()->GetReferenceCount());
+ // mStructureSetsList[0]->GetROI(i)->GetImage()->Delete();
+ }
+ */
+
+ mStructureSetsList.clear();
+ mOpenedBinaryImage.clear();
}
//------------------------------------------------------------------------------
// STATIC
void vvToolStructureSetManager::Initialize() {
SetToolName("ROIManager");
- SetToolMenuName("Display ROI");
+ SetToolMenuName("Display ROI (binary image)");
SetToolIconFilename(":/common/icons/tool-roi.png");
- SetToolTip("Display ROI from label image.");
- SetToolExperimental(true);
+ SetToolTip("Display ROI from a binary image.");
+ SetToolExperimental(false);
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
int vvToolStructureSetManager::AddStructureSet(clitk::DicomRT_StructureSet * mStructureSet) {
// Create actor for this SS
- vvStructureSetActor * mStructureSetActor = new vvStructureSetActor;
+
+ vvStructureSetActor * mStructureSetActor = new vvStructureSetActor;
+
mStructureSetActor->SetStructureSet(mStructureSet);
mStructureSetActor->SetSlicerManager(mCurrentSlicerManager);
// Insert in lists and get index
}
vvImage::Pointer binaryImage = mReader->GetOutput();
AddImage(binaryImage, filename[i].toStdString(), mBackgroundValueSpinBox->value());
+ mOpenedBinaryImage.push_back(binaryImage);
+ delete mReader;
}
UpdateImage();
}
for(unsigned int i=0; i<mLoadedROIIndex.size(); i++) {
mCurrentStructureSetActor->GetROIActor(mLoadedROIIndex[i])->Update();
}
- for(int i=0; i<mCurrentSlicerManager->NumberOfSlicers(); i++) {
+ for(int i=0; i<mCurrentSlicerManager->GetNumberOfSlicers(); i++) {
mCurrentSlicerManager->GetSlicer(i)->Render();
}
}
//------------------------------------------------------------------------------
-void vvToolStructureSetManager::AddImage(vvImage::Pointer binaryImage, std::string filename, double BG, bool m_modeBG)
+void vvToolStructureSetManager::AddImage(vvImage * binaryImage, std::string filename,
+ double BG, bool m_modeBG)
{
// Check current structure set
int index;
//------------------------------------------------------------------------------
void vvToolStructureSetManager::closeEvent(QCloseEvent *event)
{
- // DD("vvToolStructureSetManager::closeEvent()");
std::vector<vvSlicerManager*>::iterator iter = std::find(mListOfInputs.begin(), mListOfInputs.end(), mCurrentSlicerManager);
if (iter != mListOfInputs.end()) mListOfInputs.erase(iter);
if (mCurrentSlicerManager != 0) mCurrentSlicerManager->Render();
if (mCurrentStructureSetActor) {
for(int i=0; i<mCurrentStructureSetActor->GetNumberOfROIs(); i++) {
- // DD(i);
mCurrentStructureSetActor->GetROIList()[i]->SetVisible(false);
mCurrentStructureSetActor->GetROIList()[i]->SetContourVisible(false);
delete mCurrentStructureSetActor->GetROIList()[i];
QMessageBox::information(mMainWindowBase, tr("Sorry, error. Could not reload"), mReader->GetLastError().c_str());
return;
}
- // delete mCurrentROI->GetImage();
- // DD(mCurrentROI->GetImage()->GetFirstVTKImageData()->GetDataReleased());
-// DD(mCurrentROI->GetImage()->GetFirstVTKImageData()->GetReferenceCount());
mCurrentROI->GetImage()->GetFirstVTKImageData()->ReleaseData();
- // DD(mCurrentROI->GetImage()->GetFirstVTKImageData()->GetDataReleased());
mCurrentROI->SetImage(mReader->GetOutput());
// Update visu"
//------------------------------------------------------------------------------
void vvToolStructureSetManager::CheckInputList(std::vector<vvSlicerManager*> & l, int & index)
{
- DD("TODO CheckInputList");
-
for(unsigned int i=0; i<l.size(); i++) {
std::vector<vvSlicerManager*>::iterator iter = std::find(mListOfInputs.begin(), mListOfInputs.end(), l[i]);
if (iter != mListOfInputs.end()) {
// STATIC
vvToolStructureSetManager * vvToolStructureSetManager::AddImage(vvSlicerManager * m, std::string name, vvImage::Pointer image, double BG, bool m_modeBG)
{
- DD("static AddImage");
- DD(mListOfInputs.size());
-
// If the tool is open for this vvSlicerManager, use it and return
if (mListOfOpenTool[m]) {
vvToolStructureSetManager * tool = mListOfOpenTool[m];