mIsAllVisibleEnabled = false;
mNumberOfVisibleROI = 0;
mNumberOfVisibleContourROI = 0;
- mDefaultLUTColor = vtkLookupTable::New();
+ mDefaultLUTColor = vtkSmartPointer<vtkLookupTable>::New();
for(int i=0; i<mDefaultLUTColor->GetNumberOfTableValues(); i++) {
double r = (rand()/(RAND_MAX+1.0));
double v = (rand()/(RAND_MAX+1.0));
//------------------------------------------------------------------------------
vvToolStructureSetManager::~vvToolStructureSetManager()
{
+ disconnect(mTree, SIGNAL(itemSelectionChanged()), this, SLOT(SelectedItemChangedInTree()));
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();
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
void vvToolStructureSetManager::AddRoiInTreeWidget(clitk::DicomRT_ROI * roi, QTreeWidget * ww) {
- QTreeWidgetItem * w = new QTreeWidgetItem(ww);
+ mTreeWidgetList.push_back(QSharedPointer<QTreeWidgetItem>(new QTreeWidgetItem(ww)));
+ QTreeWidgetItem * w = mTreeWidgetList.back().data();
w->setText(0, QString("%1").arg(roi->GetROINumber()));
w->setText(1, QString("%1").arg(roi->GetName().c_str()));
QBrush brush(QColor(roi->GetDisplayColor()[0]*255, roi->GetDisplayColor()[1]*255, roi->GetDisplayColor()[2]*255));
//------------------------------------------------------------------------------
void vvToolStructureSetManager::UpdateStructureSetInTreeWidget(int index, clitk::DicomRT_StructureSet * s) {
// Insert ROI
- const std::vector<clitk::DicomRT_ROI*> & rois = s->GetListOfROI();
+ const std::vector<clitk::DicomRT_ROI::Pointer> & rois = s->GetListOfROI();
for(unsigned int i=0; i<rois.size(); i++) {
if (mMapROIToTreeWidget.find(rois[i]) == mMapROIToTreeWidget.end())
AddRoiInTreeWidget(rois[i], mTree); // replace mTree with ss if several SS
int vvToolStructureSetManager::AddStructureSet(clitk::DicomRT_StructureSet * mStructureSet) {
// Create actor for this SS
- vvStructureSetActor * mStructureSetActor = new vvStructureSetActor;
+ QSharedPointer<vvStructureSetActor> mStructureSetActor(new vvStructureSetActor);
mStructureSetActor->SetStructureSet(mStructureSet);
mStructureSetActor->SetSlicerManager(mCurrentSlicerManager);
int index;
if (mCurrentStructureSet == NULL) {
if (mStructureSetsList.size() == 0) { // Create a default SS
- clitk::DicomRT_StructureSet * mStructureSet = new clitk::DicomRT_StructureSet;
+ clitk::DicomRT_StructureSet::Pointer mStructureSet = clitk::DicomRT_StructureSet::New();
index = AddStructureSet(mStructureSet);
}
else { // Get first SS
index = mCurrentStructureSetIndex;
}
mCurrentStructureSet = mStructureSetsList[index];
- mCurrentStructureSetActor = mStructureSetActorsList[index];
+ mCurrentStructureSetActor = mStructureSetActorsList[index].data();
mCurrentStructureSetIndex = index;
// Open images
QString Extensions = "Images files ( *.mhd *.hdr *.his)";
for(int i=0; i<filename.size(); i++) {
// Open Image
QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
- vvImageReader * mReader = new vvImageReader;
+ vvImageReader::Pointer reader = vvImageReader::New();
std::vector<std::string> filenames;
filenames.push_back(filename[i].toStdString());
- mReader->SetInputFilenames(filenames);
- mReader->Update(IMAGE);
+ reader->SetInputFilenames(filenames);
+ reader->Update(IMAGE);
QApplication::restoreOverrideCursor();
- if (mReader->GetLastError().size() != 0) {
+ if (reader->GetLastError().size() != 0) {
std::cerr << "Error while reading " << filename[i].toStdString() << std::endl;
QString error = "Cannot open file \n";
- error += mReader->GetLastError().c_str();
+ error += reader->GetLastError().c_str();
QMessageBox::information(this,tr("Reading problem"),error);
- delete mReader;
return;
}
- vvImage::Pointer binaryImage = mReader->GetOutput();
+ vvImage::Pointer binaryImage = reader->GetOutput();
AddImage(binaryImage, filename[i].toStdString(), mBackgroundValueSpinBox->value());
mOpenedBinaryImage.push_back(binaryImage);
- delete mReader;
}
UpdateImage();
}
int index;
if (mCurrentStructureSet == NULL) {
if (mStructureSetsList.size() == 0) { // Create a default SS
- clitk::DicomRT_StructureSet * mStructureSet = new clitk::DicomRT_StructureSet;
+ clitk::DicomRT_StructureSet::Pointer mStructureSet = clitk::DicomRT_StructureSet::New();
index = AddStructureSet(mStructureSet);
}
else { // Get first SS
index = mCurrentStructureSetIndex;
}
mCurrentStructureSet = mStructureSetsList[index];
- mCurrentStructureSetActor = mStructureSetActorsList[index];
+ mCurrentStructureSetActor = mStructureSetActorsList[index].data();
mCurrentStructureSetIndex = index;
// Check Dimension
//------------------------------------------------------------------------------
void vvToolStructureSetManager::ReloadCurrentROI() {
// Reload image
- vvImageReader * mReader = new vvImageReader;
- mReader->SetInputFilename(mCurrentROI->GetFilename());
- mReader->Update(IMAGE);
- if (mReader->GetLastError() != "") {
- QMessageBox::information(mMainWindowBase, tr("Sorry, error. Could not reload"), mReader->GetLastError().c_str());
+ vvImageReader::Pointer reader = vvImageReader::New();
+ reader->SetInputFilename(mCurrentROI->GetFilename());
+ reader->Update(IMAGE);
+ if (reader->GetLastError() != "") {
+ QMessageBox::information(mMainWindowBase, tr("Sorry, error. Could not reload"), reader->GetLastError().c_str());
return;
}
mCurrentROI->GetImage()->GetFirstVTKImageData()->ReleaseData();
- mCurrentROI->SetImage(mReader->GetOutput());
+ mCurrentROI->SetImage(reader->GetOutput());
// Update visu"
mCurrentROIActor->UpdateImage();