diff --git a/Modules/Segmentation/Interactions/mitkCalculateGrayValueStatisticsTool.cpp b/Modules/Segmentation/Interactions/mitkCalculateGrayValueStatisticsTool.cpp deleted file mode 100644 index 77eae790c0..0000000000 --- a/Modules/Segmentation/Interactions/mitkCalculateGrayValueStatisticsTool.cpp +++ /dev/null @@ -1,332 +0,0 @@ -/*============================================================================ - -The Medical Imaging Interaction Toolkit (MITK) - -Copyright (c) German Cancer Research Center (DKFZ) -All rights reserved. - -Use of this source code is governed by a 3-clause BSD license that can be -found in the LICENSE file. - -============================================================================*/ - -#include "mitkCalculateGrayValueStatisticsTool.h" - -#include "mitkCalculateGrayValueStatisticsTool.xpm" - -#include "mitkImageAccessByItk.h" -#include "mitkImageCast.h" -#include "mitkImageTimeSelector.h" -#include "mitkProgressBar.h" -#include "mitkStatusBar.h" -#include "mitkToolManager.h" - -#include - -#include - -namespace mitk -{ - MITK_TOOL_MACRO(MITKSEGMENTATION_EXPORT, CalculateGrayValueStatisticsTool, "Statistics tool"); -} - -mitk::CalculateGrayValueStatisticsTool::CalculateGrayValueStatisticsTool() -{ -} - -mitk::CalculateGrayValueStatisticsTool::~CalculateGrayValueStatisticsTool() -{ -} - -const char **mitk::CalculateGrayValueStatisticsTool::GetXPM() const -{ - return mitkCalculateGrayValueStatisticsTool_xpm; -} - -const char *mitk::CalculateGrayValueStatisticsTool::GetName() const -{ - return "Statistics"; -} - -std::string mitk::CalculateGrayValueStatisticsTool::GetErrorMessage() -{ - return "No statistics generated for these segmentations:"; -} - -void mitk::CalculateGrayValueStatisticsTool::StartProcessingAllData() -{ - // clear/prepare report - m_CompleteReport.str(""); -} - -bool mitk::CalculateGrayValueStatisticsTool::ProcessOneWorkingData(DataNode *node) -{ - if (node) - { - Image::Pointer image = dynamic_cast(node->GetData()); - if (image.IsNull()) - return false; - - DataNode *referencenode = this->GetToolManager()->GetReferenceData(0); - if (!referencenode) - return false; - - try - { - ProgressBar::GetInstance()->AddStepsToDo(1); - - // add to report - std::string nodename("structure"); - node->GetName(nodename); - - std::string message = "Calculating statistics for "; - message += nodename; - - StatusBar::GetInstance()->DisplayText(message.c_str()); - - Image::Pointer refImage = dynamic_cast(referencenode->GetData()); - Image::Pointer image = dynamic_cast(node->GetData()); - - m_CompleteReport << "======== Gray value analysis of " << nodename << " ========\n"; - - if (image.IsNotNull() && refImage.IsNotNull()) - { - for (unsigned int timeStep = 0; timeStep < image->GetTimeSteps(); ++timeStep) - { - ImageTimeSelector::Pointer timeSelector = ImageTimeSelector::New(); - timeSelector->SetInput(refImage); - timeSelector->SetTimeNr(timeStep); - timeSelector->UpdateLargestPossibleRegion(); - Image::Pointer refImage3D = timeSelector->GetOutput(); - - ImageTimeSelector::Pointer timeSelector2 = ImageTimeSelector::New(); - timeSelector2->SetInput(image); - timeSelector2->SetTimeNr(timeStep); - timeSelector2->UpdateLargestPossibleRegion(); - Image::Pointer image3D = timeSelector2->GetOutput(); - - if (image3D.IsNotNull() && refImage3D.IsNotNull()) - { - m_CompleteReport << "=== " << nodename << ", time step " << timeStep << " ===\n"; - AccessFixedDimensionByItk_2(refImage3D, ITKHistogramming, 3, image3D, m_CompleteReport); - } - } - } - - m_CompleteReport << "======== End of analysis for " << nodename << " ===========\n\n\n"; - - ProgressBar::GetInstance()->Progress(); - } - catch (...) - { - return false; - } - } - - return true; -} - -void mitk::CalculateGrayValueStatisticsTool::FinishProcessingAllData() -{ - SegmentationsProcessingTool::FinishProcessingAllData(); - - // show/send results - StatisticsCompleted.Send(); - // MITK_INFO << m_CompleteReport.str() << std::endl; -} - -#define ROUND_P(x) ((int)((x) + 0.5)) - -template -void mitk::CalculateGrayValueStatisticsTool::CalculateMinMax(itk::Image *referenceImage, - Image *segmentation, - TPixel &minimum, - TPixel &maximum) -{ - typedef itk::Image ImageType; - typedef itk::Image SegmentationType; - - typename SegmentationType::Pointer segmentationItk; - CastToItkImage(segmentation, segmentationItk); - - typename SegmentationType::RegionType segmentationRegion = segmentationItk->GetLargestPossibleRegion(); - - segmentationRegion.Crop(referenceImage->GetLargestPossibleRegion()); - - itk::ImageRegionConstIteratorWithIndex segmentationIterator(segmentationItk, segmentationRegion); - itk::ImageRegionConstIteratorWithIndex referenceIterator(referenceImage, segmentationRegion); - - segmentationIterator.GoToBegin(); - referenceIterator.GoToBegin(); - - minimum = std::numeric_limits::max(); - maximum = std::numeric_limits::min(); - - while (!segmentationIterator.IsAtEnd()) - { - itk::Point pt; - segmentationItk->TransformIndexToPhysicalPoint(segmentationIterator.GetIndex(), pt); - - typename ImageType::IndexType ind; - itk::ContinuousIndex contInd; - if (referenceImage->TransformPhysicalPointToContinuousIndex(pt, contInd)) - { - for (unsigned int i = 0; i < 3; ++i) - ind[i] = ROUND_P(contInd[i]); - - referenceIterator.SetIndex(ind); - - if (segmentationIterator.Get() > 0) - { - if (referenceIterator.Get() < minimum) - minimum = referenceIterator.Get(); - if (referenceIterator.Get() > maximum) - maximum = referenceIterator.Get(); - } - } - - ++segmentationIterator; - } -} - -template -void mitk::CalculateGrayValueStatisticsTool::ITKHistogramming(itk::Image *referenceImage, - Image *segmentation, - std::stringstream &report) -{ - typedef itk::Image ImageType; - typedef itk::Image SegmentationType; - - typename SegmentationType::Pointer segmentationItk; - CastToItkImage(segmentation, segmentationItk); - - // generate histogram - typename SegmentationType::RegionType segmentationRegion = segmentationItk->GetLargestPossibleRegion(); - - segmentationRegion.Crop(referenceImage->GetLargestPossibleRegion()); - - itk::ImageRegionConstIteratorWithIndex segmentationIterator(segmentationItk, segmentationRegion); - itk::ImageRegionConstIteratorWithIndex referenceIterator(referenceImage, segmentationRegion); - - segmentationIterator.GoToBegin(); - referenceIterator.GoToBegin(); - - m_ITKHistogram = HistogramType::New(); - - TPixel minimum = std::numeric_limits::max(); - TPixel maximum = std::numeric_limits::min(); - - CalculateMinMax(referenceImage, segmentation, minimum, maximum); - - // initialize the histogram to the range of the cropped region - HistogramType::SizeType size; -#if defined(ITK_USE_REVIEW_STATISTICS) - typedef typename HistogramType::SizeType::ValueType HSizeValueType; -#else - typedef typename HistogramType::SizeType::SizeValueType HSizeValueType; -#endif - size.Fill(static_cast(maximum - minimum + 1)); - HistogramType::MeasurementVectorType lowerBound; - HistogramType::MeasurementVectorType upperBound; - lowerBound[0] = minimum; - upperBound[0] = maximum; - m_ITKHistogram->Initialize(size, lowerBound, upperBound); - - double mean(0.0); - double sd(0.0); - double voxelCount(0.0); - - // iterate through the cropped region add the values to the histogram - while (!segmentationIterator.IsAtEnd()) - { - itk::Point pt; - segmentationItk->TransformIndexToPhysicalPoint(segmentationIterator.GetIndex(), pt); - - typename ImageType::IndexType ind; - itk::ContinuousIndex contInd; - if (referenceImage->TransformPhysicalPointToContinuousIndex(pt, contInd)) - { - for (unsigned int i = 0; i < 3; ++i) - ind[i] = ROUND_P(contInd[i]); - - referenceIterator.SetIndex(ind); - - if (segmentationIterator.Get() > 0) - { - HistogramType::MeasurementVectorType currentMeasurementVector; - - currentMeasurementVector[0] = static_cast(referenceIterator.Get()); - m_ITKHistogram->IncreaseFrequencyOfMeasurement(currentMeasurementVector, 1); - - mean = (mean * (static_cast(voxelCount) / - static_cast(voxelCount + 1))) // 3 points: old center * 2/3 + currentPoint * 1/3; - + static_cast(referenceIterator.Get()) / static_cast(voxelCount + 1); - - voxelCount += 1.0; - } - } - - ++segmentationIterator; - } - - // second pass for SD - segmentationIterator.GoToBegin(); - referenceIterator.GoToBegin(); - while (!segmentationIterator.IsAtEnd()) - { - itk::Point pt; - segmentationItk->TransformIndexToPhysicalPoint(segmentationIterator.GetIndex(), pt); - - typename ImageType::IndexType ind; - itk::ContinuousIndex contInd; - if (referenceImage->TransformPhysicalPointToContinuousIndex(pt, contInd)) - { - for (unsigned int i = 0; i < 3; ++i) - ind[i] = ROUND_P(contInd[i]); - - referenceIterator.SetIndex(ind); - - if (segmentationIterator.Get() > 0) - { - sd += ((static_cast(referenceIterator.Get()) - mean) * - (static_cast(referenceIterator.Get()) - mean)); - } - } - - ++segmentationIterator; - } - - sd /= static_cast(voxelCount - 1); - sd = sqrt(sd); - - // generate quantiles - TPixel histogramQuantileValues[5]; - histogramQuantileValues[0] = m_ITKHistogram->Quantile(0, 0.05); - histogramQuantileValues[1] = m_ITKHistogram->Quantile(0, 0.25); - histogramQuantileValues[2] = m_ITKHistogram->Quantile(0, 0.50); - histogramQuantileValues[3] = m_ITKHistogram->Quantile(0, 0.75); - histogramQuantileValues[4] = m_ITKHistogram->Quantile(0, 0.95); - - // report histogram values - std::locale C("C"); - std::locale originalLocale = report.getloc(); - report.imbue(C); - - report << " Minimum:" << minimum << "\n 5% quantile: " << histogramQuantileValues[0] - << "\n 25% quantile: " << histogramQuantileValues[1] << "\n 50% quantile: " << histogramQuantileValues[2] - << "\n 75% quantile: " << histogramQuantileValues[3] << "\n 95% quantile: " << histogramQuantileValues[4] - << "\n Maximum: " << maximum << "\n Mean: " << mean << "\n SD: " << sd << "\n"; - - report.imbue(originalLocale); -} - -std::string mitk::CalculateGrayValueStatisticsTool::GetReport() const -{ - return m_CompleteReport.str(); -} - -mitk::CalculateGrayValueStatisticsTool::HistogramType::ConstPointer - mitk::CalculateGrayValueStatisticsTool::GetHistogram() -{ - return m_ITKHistogram.GetPointer(); -} diff --git a/Modules/Segmentation/Interactions/mitkCalculateGrayValueStatisticsTool.h b/Modules/Segmentation/Interactions/mitkCalculateGrayValueStatisticsTool.h deleted file mode 100644 index 69bd8c4204..0000000000 --- a/Modules/Segmentation/Interactions/mitkCalculateGrayValueStatisticsTool.h +++ /dev/null @@ -1,96 +0,0 @@ -/*============================================================================ - -The Medical Imaging Interaction Toolkit (MITK) - -Copyright (c) German Cancer Research Center (DKFZ) -All rights reserved. - -Use of this source code is governed by a 3-clause BSD license that can be -found in the LICENSE file. - -============================================================================*/ - -#ifndef mitkCalculateGrayValueStatisticsTool_h_Included -#define mitkCalculateGrayValueStatisticsTool_h_Included - -#include "mitkCommon.h" -#include "mitkSegmentationsProcessingTool.h" -#include - -#ifndef __itkHistogram_h -#include -#endif - -#include -#include - -namespace mitk -{ - /** - \brief Calculates some gray value statistics for segmentations. - - \ingroup ToolManagerEtAl - \sa mitk::Tool - \sa QmitkInteractiveSegmentation - - Last contributor: $Author$ - */ - class MITKSEGMENTATION_EXPORT CalculateGrayValueStatisticsTool : public SegmentationsProcessingTool - { - public: - Message<> StatisticsCompleted; - - mitkClassMacro(CalculateGrayValueStatisticsTool, SegmentationsProcessingTool); - itkFactorylessNewMacro(Self); - itkCloneMacro(Self); - - const char **GetXPM() const override; - const char *GetName() const override; - - virtual std::string GetReport() const; - // - // Insight/Code/Review/Algorithms version of Histogram takes - // only one template parameter, and the 'release' version - // takes 2, but the default value for the second, 1, is what - // was specified here. - typedef itk::Statistics::Histogram HistogramType; - HistogramType::Pointer m_ITKHistogram; - - HistogramType::ConstPointer GetHistogram(); - - typedef HistogramType::MeasurementType HistogramMeasurementType; - - protected: - CalculateGrayValueStatisticsTool(); // purposely hidden - ~CalculateGrayValueStatisticsTool() override; - - void StartProcessingAllData() override; - bool ProcessOneWorkingData(DataNode *node) override; - void FinishProcessingAllData() override; - - std::string GetErrorMessage() override; - - /** - Calculates the minimum and maximum of the pixelvalues. They have to be known to initialize the histogram. - */ - template - void CalculateMinMax(itk::Image *referenceImage, - Image *segmentation, - TPixel &minimum, - TPixel &maximum); - - /** - - initializes and fills the histogram - - calculates mean, sd and quantiles - */ - template - void ITKHistogramming(itk::Image *referenceImage, - Image *segmentation, - std::stringstream &report); - - std::stringstream m_CompleteReport; - }; - -} // namespace - -#endif diff --git a/Modules/Segmentation/Interactions/mitkCalculateGrayValueStatisticsTool.xpm b/Modules/Segmentation/Interactions/mitkCalculateGrayValueStatisticsTool.xpm deleted file mode 100644 index 571c5c2801..0000000000 --- a/Modules/Segmentation/Interactions/mitkCalculateGrayValueStatisticsTool.xpm +++ /dev/null @@ -1,20 +0,0 @@ -/* XPM */ -static const char * mitkCalculateGrayValueStatisticsTool_xpm[] = { -"18 12 5 1", -" c None", -". c #2E3436", -"+ c #EEEEEC", -"@ c #D3D7CF", -"# c #555753", -"..................", -".++++++++++++++++.", -".+@@@@@@@@@@@@@@+.", -".+@@#@@@@@@@@@@@+.", -".+@@##@#@@@@@@@@+.", -".+@###@#@@@@@@@@+.", -".+@#####@#@@@@@@+.", -".+######@#@@@#@@+.", -".+##########@#@@+.", -".+##############+.", -".++++++++++++++++.", -".................."}; diff --git a/Modules/Segmentation/Interactions/mitkCalculateVolumetryTool.cpp b/Modules/Segmentation/Interactions/mitkCalculateVolumetryTool.cpp deleted file mode 100644 index f5b53f6c3a..0000000000 --- a/Modules/Segmentation/Interactions/mitkCalculateVolumetryTool.cpp +++ /dev/null @@ -1,86 +0,0 @@ -/*============================================================================ - -The Medical Imaging Interaction Toolkit (MITK) - -Copyright (c) German Cancer Research Center (DKFZ) -All rights reserved. - -Use of this source code is governed by a 3-clause BSD license that can be -found in the LICENSE file. - -============================================================================*/ - -#include "mitkCalculateVolumetryTool.h" - -#include "mitkCalculateVolumetryTool.xpm" - -#include "mitkProperties.h" -#include "mitkToolManager.h" -#include "mitkVolumeCalculator.h" - -namespace mitk -{ - MITK_TOOL_MACRO(MITKSEGMENTATION_EXPORT, CalculateVolumetryTool, "Volumetry tool"); -} - -mitk::CalculateVolumetryTool::CalculateVolumetryTool() -{ -} - -mitk::CalculateVolumetryTool::~CalculateVolumetryTool() -{ -} - -const char **mitk::CalculateVolumetryTool::GetXPM() const -{ - return mitkCalculateVolumetryTool_xpm; -} - -const char *mitk::CalculateVolumetryTool::GetName() const -{ - return "Volumetry"; -} - -std::string mitk::CalculateVolumetryTool::GetErrorMessage() -{ - return "Volume could not be calculated for these nodes:"; -} - -bool mitk::CalculateVolumetryTool::ProcessOneWorkingData(DataNode *node) -{ - if (node) - { - Image::Pointer image = dynamic_cast(node->GetData()); - if (image.IsNull()) - return false; - - if (image->GetDimension() == 4) - { - Tool::ErrorMessage("Volumetry only valid for timestep 0! Bug #1280"); - } - - VolumeCalculator::Pointer volumetryFilter = VolumeCalculator::New(); - volumetryFilter->SetImage(image); - volumetryFilter->SetThreshold(1); // comparison is >= - try - { - volumetryFilter->ComputeVolume(); - - float volumeInTimeStep0 = volumetryFilter->GetVolume(); - - node->SetProperty("volume", FloatProperty::New(volumeInTimeStep0)); - } - catch (...) - { - return false; - } - } - - return true; -} - -void mitk::CalculateVolumetryTool::FinishProcessingAllData() -{ - Superclass::FinishProcessingAllData(); - this->GetToolManager()->NodePropertiesChanged(); -} diff --git a/Modules/Segmentation/Interactions/mitkCalculateVolumetryTool.h b/Modules/Segmentation/Interactions/mitkCalculateVolumetryTool.h deleted file mode 100644 index 51d9253d2a..0000000000 --- a/Modules/Segmentation/Interactions/mitkCalculateVolumetryTool.h +++ /dev/null @@ -1,53 +0,0 @@ -/*============================================================================ - -The Medical Imaging Interaction Toolkit (MITK) - -Copyright (c) German Cancer Research Center (DKFZ) -All rights reserved. - -Use of this source code is governed by a 3-clause BSD license that can be -found in the LICENSE file. - -============================================================================*/ - -#ifndef mitkCalculateVolumetryTool_h_Included -#define mitkCalculateVolumetryTool_h_Included - -#include "mitkCommon.h" -#include "mitkSegmentationsProcessingTool.h" -#include - -namespace mitk -{ - /** - \brief Calculates the segmented volumes for binary images. - - \ingroup ToolManagerEtAl - \sa mitk::Tool - \sa QmitkInteractiveSegmentation - - Last contributor: $Author$ - */ - class MITKSEGMENTATION_EXPORT CalculateVolumetryTool : public SegmentationsProcessingTool - { - public: - mitkClassMacro(CalculateVolumetryTool, SegmentationsProcessingTool); - itkFactorylessNewMacro(Self); - itkCloneMacro(Self); - - const char **GetXPM() const override; - const char *GetName() const override; - - protected: - bool ProcessOneWorkingData(DataNode *node) override; - std::string GetErrorMessage() override; - - void FinishProcessingAllData() override; - - CalculateVolumetryTool(); // purposely hidden - ~CalculateVolumetryTool() override; - }; - -} // namespace - -#endif diff --git a/Modules/Segmentation/Interactions/mitkCalculateVolumetryTool.xpm b/Modules/Segmentation/Interactions/mitkCalculateVolumetryTool.xpm deleted file mode 100644 index 54ffb9c3e5..0000000000 --- a/Modules/Segmentation/Interactions/mitkCalculateVolumetryTool.xpm +++ /dev/null @@ -1,37 +0,0 @@ -/* XPM */ -static const char * mitkCalculateVolumetryTool_xpm[] = { -"19 16 18 1", -" c None", -". c #2E3436", -"+ c #EEEEEC", -"@ c #555753", -"# c #595B57", -"$ c #70726E", -"% c #656763", -"& c #565854", -"* c #646662", -"= c #BEBEBC", -"- c #ADAEAB", -"; c #CDCECB", -"> c #ACADAA", -", c #CECFCC", -"' c #666864", -") c #E5E5E3", -"! c #EBEBE9", -"~ c #EDEDEB", -"...................", -".+++++++++++++++++.", -".+++++++++++++++++.", -".++++++++++++++@@+.", -".++++++++++++++@@+.", -".++++++++++++++@@+.", -".+@@@@#$%&*=+++@@+.", -".+@@-;@@>,@'+++@@+.", -".+@@)!@@)~@@+++@@+.", -".+@@++@@++@@+++@@+.", -".+@@++@@++@@+++@@+.", -".+@@++@@++@@+++@@+.", -".+@@++@@++@@+++@@+.", -".+++++++++++++++++.", -".+++++++++++++++++.", -"..................."}; diff --git a/Modules/Segmentation/Interactions/mitkCreateSurfaceTool.cpp b/Modules/Segmentation/Interactions/mitkCreateSurfaceTool.cpp deleted file mode 100644 index 0e5bcfbe90..0000000000 --- a/Modules/Segmentation/Interactions/mitkCreateSurfaceTool.cpp +++ /dev/null @@ -1,98 +0,0 @@ -/*============================================================================ - -The Medical Imaging Interaction Toolkit (MITK) - -Copyright (c) German Cancer Research Center (DKFZ) -All rights reserved. - -Use of this source code is governed by a 3-clause BSD license that can be -found in the LICENSE file. - -============================================================================*/ - -#include "mitkCreateSurfaceTool.h" - -#include "mitkCreateSurfaceTool.xpm" - -#include "mitkProgressBar.h" -#include "mitkShowSegmentationAsSurface.h" -#include "mitkStatusBar.h" -#include "mitkToolManager.h" - -#include "itkCommand.h" - -namespace mitk -{ - MITK_TOOL_MACRO(MITKSEGMENTATION_EXPORT, CreateSurfaceTool, "Surface creation tool"); -} - -mitk::CreateSurfaceTool::CreateSurfaceTool() -{ -} - -mitk::CreateSurfaceTool::~CreateSurfaceTool() -{ -} - -const char **mitk::CreateSurfaceTool::GetXPM() const -{ - return mitkCreateSurfaceTool_xpm; -} - -const char *mitk::CreateSurfaceTool::GetName() const -{ - return "Surface"; -} - -std::string mitk::CreateSurfaceTool::GetErrorMessage() -{ - return "No surfaces created for these segmentations:"; -} - -bool mitk::CreateSurfaceTool::ProcessOneWorkingData(DataNode *node) -{ - if (node) - { - Image::Pointer image = dynamic_cast(node->GetData()); - if (image.IsNull()) - return false; - - try - { - mitk::ShowSegmentationAsSurface::Pointer surfaceFilter = mitk::ShowSegmentationAsSurface::New(); - - // attach observer to get notified about result - itk::SimpleMemberCommand::Pointer goodCommand = - itk::SimpleMemberCommand::New(); - goodCommand->SetCallbackFunction(this, &CreateSurfaceTool::OnSurfaceCalculationDone); - surfaceFilter->AddObserver(mitk::ResultAvailable(), goodCommand); - itk::SimpleMemberCommand::Pointer badCommand = - itk::SimpleMemberCommand::New(); - badCommand->SetCallbackFunction(this, &CreateSurfaceTool::OnSurfaceCalculationDone); - surfaceFilter->AddObserver(mitk::ProcessingError(), badCommand); - - DataNode::Pointer nodepointer = node; - surfaceFilter->SetPointerParameter("Input", image); - surfaceFilter->SetPointerParameter("Group node", nodepointer); - surfaceFilter->SetParameter("Show result", true); - surfaceFilter->SetParameter("Sync visibility", false); - surfaceFilter->SetDataStorage(*this->GetToolManager()->GetDataStorage()); - - ProgressBar::GetInstance()->AddStepsToDo(1); - StatusBar::GetInstance()->DisplayText("Surface creation started in background..."); - surfaceFilter->StartAlgorithm(); - } - catch (...) - { - return false; - } - } - - return true; -} - -void mitk::CreateSurfaceTool::OnSurfaceCalculationDone() -{ - ProgressBar::GetInstance()->Progress(); - this->GetToolManager()->NewNodesGenerated(); -} diff --git a/Modules/Segmentation/Interactions/mitkCreateSurfaceTool.h b/Modules/Segmentation/Interactions/mitkCreateSurfaceTool.h deleted file mode 100644 index ad6f1518af..0000000000 --- a/Modules/Segmentation/Interactions/mitkCreateSurfaceTool.h +++ /dev/null @@ -1,52 +0,0 @@ -/*============================================================================ - -The Medical Imaging Interaction Toolkit (MITK) - -Copyright (c) German Cancer Research Center (DKFZ) -All rights reserved. - -Use of this source code is governed by a 3-clause BSD license that can be -found in the LICENSE file. - -============================================================================*/ - -#ifndef mitkCreateSurfaceTool_h_Included -#define mitkCreateSurfaceTool_h_Included - -#include "mitkCommon.h" -#include "mitkSegmentationsProcessingTool.h" -#include - -namespace mitk -{ - /** - \brief Creates surface models from segmentations. - \ingroup ToolManagerEtAl - \sa mitk::Tool - \sa QmitkInteractiveSegmentation - - Last contributor: $Author$ - */ - class MITKSEGMENTATION_EXPORT CreateSurfaceTool : public SegmentationsProcessingTool - { - public: - mitkClassMacro(CreateSurfaceTool, SegmentationsProcessingTool); - itkFactorylessNewMacro(Self); - itkCloneMacro(Self); - - const char **GetXPM() const override; - const char *GetName() const override; - - void OnSurfaceCalculationDone(); - - protected: - bool ProcessOneWorkingData(DataNode *node) override; - std::string GetErrorMessage() override; - - CreateSurfaceTool(); // purposely hidden - ~CreateSurfaceTool() override; - }; - -} // namespace - -#endif diff --git a/Modules/Segmentation/Interactions/mitkCreateSurfaceTool.xpm b/Modules/Segmentation/Interactions/mitkCreateSurfaceTool.xpm deleted file mode 100644 index 176d646b0f..0000000000 --- a/Modules/Segmentation/Interactions/mitkCreateSurfaceTool.xpm +++ /dev/null @@ -1,109 +0,0 @@ -/* XPM */ -static const char * mitkCreateSurfaceTool_xpm[] = { -"18 18 88 1", -" c None", -". c #202020", -"+ c #232323", -"@ c #393939", -"# c #454545", -"$ c #E2E2E2", -"% c #F2F2F2", -"& c #F1F1F1", -"* c #A5A5A5", -"= c #515151", -"- c #4E4E4E", -"; c #C6C6C6", -"> c #FDFDFD", -", c #FCFCFC", -"' c #FBFBFB", -") c #F9F9F9", -"! c #F0F0F0", -"~ c #868686", -"{ c #4B4B4B", -"] c #FAFAFA", -"^ c #F6F6F6", -"/ c #E8E8E8", -"( c #E1E1E1", -"_ c #DEDEDE", -": c #C9C9C9", -"< c #6F6F6F", -"[ c #000000", -"} c #353535", -"| c #BFBFBF", -"1 c #EFEFEF", -"2 c #E5E5E5", -"3 c #D6D6D6", -"4 c #D8D8D8", -"5 c #DBDBDB", -"6 c #B4B4B4", -"7 c #7C7C7C", -"8 c #474747", -"9 c #EAEAEA", -"0 c #E7E7E7", -"a c #E4E4E4", -"b c #CECECE", -"c c #B6B6B6", -"d c #C5C5C5", -"e c #B3B3B3", -"f c #A3A3A3", -"g c #1C1C1C", -"h c #D3D3D3", -"i c #F3F3F3", -"j c #DFDFDF", -"k c #B1B1B1", -"l c #C2C2C2", -"m c #898989", -"n c #212121", -"o c #E9E9E9", -"p c #F7F7F7", -"q c #D1D1D1", -"r c #BABABA", -"s c #E0E0E0", -"t c #8F8F8F", -"u c #E6E6E6", -"v c #EBEBEB", -"w c #BCBCBC", -"x c #979797", -"y c #F8F8F8", -"z c #5E5E5E", -"A c #464646", -"B c #D7D7D7", -"C c #BBBBBB", -"D c #D2D2D2", -"E c #CACACA", -"F c #040404", -"G c #7E7E7E", -"H c #DDDDDD", -"I c #B8B8B8", -"J c #2C2C2C", -"K c #8C8C8C", -"L c #CDCDCD", -"M c #C3C3C3", -"N c #F4F4F4", -"O c #D9D9D9", -"P c #878787", -"Q c #ECECEC", -"R c #C4C4C4", -"S c #8E8E8E", -"T c #686868", -"U c #070707", -"V c #030303", -"W c #0D0D0D", -" ", -" .++. ", -" @#$%&*= ", -" -;%>,')!~ ", -" {;]'%^/(_:<[ ", -" }|]^&12(34567[ ", -" 8^,9&0abc|def[ ", -" gh>%ij/;kkkklbm[ ", -" no'p1jqkkkkkrst[ ", -" .u)]v5wkkkkklux[ ", -" gx^^ybkkkkkk2az ", -" A19vBCkkkkD9EF ", -" GsEHbkkIBv5J ", -" KLw6eMaNOg ", -" [P*EBQjRJ ", -" [[mS*TU ", -" [VW ", -" "}; diff --git a/Modules/Segmentation/Interactions/mitkPixelManipulationTool.cpp b/Modules/Segmentation/Interactions/mitkPixelManipulationTool.cpp deleted file mode 100644 index 1507bbcc3a..0000000000 --- a/Modules/Segmentation/Interactions/mitkPixelManipulationTool.cpp +++ /dev/null @@ -1,191 +0,0 @@ -/*============================================================================ - -The Medical Imaging Interaction Toolkit (MITK) - -Copyright (c) German Cancer Research Center (DKFZ) -All rights reserved. - -Use of this source code is governed by a 3-clause BSD license that can be -found in the LICENSE file. - -============================================================================*/ -#include "mitkPixelManipulationTool.h" - -#include "mitkBoundingObjectToSegmentationFilter.h" -#include "mitkImage.h" -#include "mitkImageAccessByItk.h" -#include "mitkImageCast.h" -#include "mitkProperties.h" -#include "mitkToolManager.h" -#include - -#include "mitkPixelManipulationTool.xpm" - -namespace mitk -{ - MITK_TOOL_MACRO(MITKSEGMENTATION_EXPORT, PixelManipulationTool, "Pixel manipulation tool"); -} - -mitk::PixelManipulationTool::PixelManipulationTool() : Tool("dummy"), m_Value(0), m_FixedValue(false) -{ -} - -mitk::PixelManipulationTool::~PixelManipulationTool() -{ -} - -void mitk::PixelManipulationTool::Activated() -{ - Superclass::Activated(); - - this->GetToolManager()->RoiDataChanged += - mitk::MessageDelegate(this, &mitk::PixelManipulationTool::OnRoiDataChanged); - m_OriginalImageNode = this->GetToolManager()->GetReferenceData(0); - - if (m_OriginalImageNode.IsNotNull()) - { - mitk::Image::Pointer image = dynamic_cast(m_OriginalImageNode->GetData()); - if (image.IsNotNull()) - { - // mitk::ScalarType scalar = image->GetScalarValueMax(); - } - } - else - this->GetToolManager()->ActivateTool(-1); -} - -void mitk::PixelManipulationTool::Deactivated() -{ - this->GetToolManager()->RoiDataChanged -= - mitk::MessageDelegate(this, &mitk::PixelManipulationTool::OnRoiDataChanged); - - Superclass::Deactivated(); -} - -const char *mitk::PixelManipulationTool::GetName() const -{ - return "pixelmanipulation"; -} - -const char **mitk::PixelManipulationTool::GetXPM() const -{ - return mitkPixelManipulationTool_xpm; -} - -void mitk::PixelManipulationTool::OnRoiDataChanged() -{ -} - -void mitk::PixelManipulationTool::CalculateImage() -{ - if (m_OriginalImageNode.IsNotNull()) - { - mitk::Image::Pointer image = dynamic_cast(m_OriginalImageNode->GetData()); - mitk::DataNode *maskNode = this->GetToolManager()->GetRoiData(0); - mitk::Image::Pointer roi = mitk::Image::New(); - - if (maskNode) - { - auto *boundingObject = dynamic_cast(maskNode->GetData()); - - if (boundingObject) - { - mitk::BoundingObjectToSegmentationFilter::Pointer filter = mitk::BoundingObjectToSegmentationFilter::New(); - filter->SetBoundingObject(boundingObject); - filter->SetInput(image); - filter->Update(); - roi = filter->GetOutput(); - } - else - roi = dynamic_cast(maskNode->GetData()); - - mitk::Image::Pointer newImage = mitk::Image::New(); - newImage->Initialize(image); - - if (image) - { - AccessByItk_3(image, ITKPixelManipulation, roi, newImage, m_Value); - this->AddImageToDataStorage(newImage); - } - } - } -} - -template -void mitk::PixelManipulationTool::ITKPixelManipulation(itk::Image *originalImage, - Image *maskImage, - Image *newImage, - int newValue) -{ - typedef itk::Image itkImageType; - typedef itk::Image itkMaskType; - typename itkImageType::Pointer itkImage; - typename itkMaskType::Pointer itkMask; - CastToItkImage(newImage, itkImage); - CastToItkImage(maskImage, itkMask); - - typedef itk::ImageRegionConstIterator InputIteratorType; - typedef itk::ImageRegionIterator OutputIteratorType; - typedef itk::ImageRegionConstIterator MaskIteratorType; - - MaskIteratorType maskIterator(itkMask, itkMask->GetLargestPossibleRegion()); - InputIteratorType inputIterator(originalImage, originalImage->GetLargestPossibleRegion()); - OutputIteratorType outputIterator(itkImage, itkImage->GetLargestPossibleRegion()); - - inputIterator.GoToBegin(); - outputIterator.GoToBegin(); - maskIterator.GoToBegin(); - - while (!outputIterator.IsAtEnd()) - { - if (maskIterator.Get()) - { - if (m_FixedValue) - outputIterator.Set(newValue); - else - outputIterator.Set(inputIterator.Get() + newValue); - } - else - outputIterator.Set(inputIterator.Get()); - - ++inputIterator; - ++outputIterator; - ++maskIterator; - } -} - -void mitk::PixelManipulationTool::AddImageToDataStorage(mitk::Image::Pointer image) -{ - if (image.IsNotNull()) - { - mitk::DataNode::Pointer node = mitk::DataNode::New(); - std::string name = m_OriginalImageNode->GetName(); - name.append("_modified"); - node->SetName(name); - node->SetProperty("binary", mitk::BoolProperty::New(false)); - node->SetData(image); - - if (nullptr != this->GetToolManager()) - this->GetToolManager()->GetDataStorage()->Add(node, m_OriginalImageNode); - } -} - -void mitk::PixelManipulationTool::SetValue(int value) -{ - m_Value = value; -} - -int mitk::PixelManipulationTool::GetValue() -{ - return m_Value; -} - -void mitk::PixelManipulationTool::SetFixedValue(int value) -{ - m_FixedValue = value; -} - -int mitk::PixelManipulationTool::GetFixedValue() -{ - return m_FixedValue; -} diff --git a/Modules/Segmentation/Interactions/mitkPixelManipulationTool.h b/Modules/Segmentation/Interactions/mitkPixelManipulationTool.h deleted file mode 100644 index 9e55cea83b..0000000000 --- a/Modules/Segmentation/Interactions/mitkPixelManipulationTool.h +++ /dev/null @@ -1,63 +0,0 @@ -/*============================================================================ - -The Medical Imaging Interaction Toolkit (MITK) - -Copyright (c) German Cancer Research Center (DKFZ) -All rights reserved. - -Use of this source code is governed by a 3-clause BSD license that can be -found in the LICENSE file. - -============================================================================*/ -#ifndef MITKPIXELMANIPULATIONTOOL_H -#define MITKPIXELMANIPULATIONTOOL_H - -#include "mitkTool.h" -#include - -#include "itkImage.h" - -namespace mitk -{ - class Image; - - class MITKSEGMENTATION_EXPORT PixelManipulationTool : public Tool - { - public: - mitkClassMacro(PixelManipulationTool, Tool); - itkFactorylessNewMacro(Self); - itkCloneMacro(Self); - - void SetValue(int value); - int GetValue(); - - void SetFixedValue(int value); - int GetFixedValue(); - - const char *GetName() const override; - const char **GetXPM() const override; - - void Activated() override; - void Deactivated() override; - - virtual void CalculateImage(); - - protected: - PixelManipulationTool(); - ~PixelManipulationTool() override; - - virtual void OnRoiDataChanged(); - void AddImageToDataStorage(itk::SmartPointer image); - - template - void ITKPixelManipulation(itk::Image *originalImage, - Image *maskImage, - Image *newImage, - int newValue); - - mitk::DataNode::Pointer m_OriginalImageNode; - int m_Value; - bool m_FixedValue; - }; // clas -} // namespace -#endif diff --git a/Modules/Segmentation/Interactions/mitkPixelManipulationTool.xpm b/Modules/Segmentation/Interactions/mitkPixelManipulationTool.xpm deleted file mode 100644 index daafedc1be..0000000000 --- a/Modules/Segmentation/Interactions/mitkPixelManipulationTool.xpm +++ /dev/null @@ -1,31 +0,0 @@ -/* XPM */ -static const char * mitkPixelManipulationTool_xpm[] = { -"20 20 8 1", -" c None", -". c #2E3436", -"+ c #EEEEEC", -"@ c #EFEFEF", -"# c #F7F3F7", -"$ c #F7F7F7", -"% c #FFFBFF", -"& c #FFFFFF", -". . . . . . . . . . ", -" .", -". . . . . ", -" .. .. .", -". ... ... ", -" .", -". ........ ", -" .++++++. .", -". .+@@@##. ", -" .+@###$. .", -". .+##$$%. ", -" .+#$$%%. .", -". .+$$%%&. ", -" ........ .", -". ", -" ... ... .", -". .. .. ", -" . . . . .", -". ", -" . . . . . . . . . ."}; \ No newline at end of file diff --git a/Modules/Segmentation/files.cmake b/Modules/Segmentation/files.cmake index 2cdf1bcdf5..93b40ede21 100644 --- a/Modules/Segmentation/files.cmake +++ b/Modules/Segmentation/files.cmake @@ -1,112 +1,108 @@ set(CPP_FILES Algorithms/mitkCalculateSegmentationVolume.cpp Algorithms/mitkContourModelSetToImageFilter.cpp Algorithms/mitkContourSetToPointSetFilter.cpp Algorithms/mitkContourUtils.cpp Algorithms/mitkCorrectorAlgorithm.cpp Algorithms/mitkDiffImageApplier.cpp Algorithms/mitkDiffSliceOperation.cpp Algorithms/mitkDiffSliceOperationApplier.cpp Algorithms/mitkFeatureBasedEdgeDetectionFilter.cpp Algorithms/mitkImageLiveWireContourModelFilter.cpp Algorithms/mitkImageToContourFilter.cpp #Algorithms/mitkImageToContourModelFilter.cpp Algorithms/mitkImageToLiveWireContourFilter.cpp Algorithms/mitkManualSegmentationToSurfaceFilter.cpp Algorithms/mitkOtsuSegmentationFilter.cpp Algorithms/mitkSegmentationHelper.cpp Algorithms/mitkSegmentationObjectFactory.cpp Algorithms/mitkShapeBasedInterpolationAlgorithm.cpp Algorithms/mitkShowSegmentationAsSmoothedSurface.cpp Algorithms/mitkShowSegmentationAsSurface.cpp Algorithms/mitkVtkImageOverwrite.cpp Controllers/mitkSegmentationInterpolationController.cpp Controllers/mitkToolManager.cpp Controllers/mitkSegmentationModuleActivator.cpp Controllers/mitkToolManagerProvider.cpp DataManagement/mitkContour.cpp DataManagement/mitkContourSet.cpp DataManagement/mitkExtrudedContour.cpp Interactions/mitkAddContourTool.cpp Interactions/mitkAutoCropTool.cpp Interactions/mitkSegWithPreviewTool.cpp Interactions/mitkBinaryThresholdBaseTool.cpp Interactions/mitkBinaryThresholdTool.cpp Interactions/mitkBinaryThresholdULTool.cpp - Interactions/mitkCalculateGrayValueStatisticsTool.cpp - Interactions/mitkCalculateVolumetryTool.cpp Interactions/mitkContourModelInteractor.cpp Interactions/mitkContourModelLiveWireInteractor.cpp Interactions/mitkEditableContourTool.cpp Interactions/mitkLiveWireTool2D.cpp Interactions/mitkLassoTool.cpp Interactions/mitkContourTool.cpp - Interactions/mitkCreateSurfaceTool.cpp Interactions/mitkDrawPaintbrushTool.cpp Interactions/mitkErasePaintbrushTool.cpp Interactions/mitkEraseRegionTool.cpp Interactions/mitkFeedbackContourTool.cpp Interactions/mitkFillRegionTool.cpp Interactions/mitkOtsuTool3D.cpp Interactions/mitkPaintbrushTool.cpp - Interactions/mitkPixelManipulationTool.cpp Interactions/mitkRegionGrowingTool.cpp Interactions/mitkSegmentationsProcessingTool.cpp Interactions/mitkSetRegionTool.cpp Interactions/mitkSegTool2D.cpp Interactions/mitkSubtractContourTool.cpp Interactions/mitkTool.cpp Interactions/mitkToolCommand.cpp Interactions/mitkPickingTool.cpp Interactions/mitknnUnetTool.cpp Interactions/mitkSegmentationInteractor.cpp #SO Interactions/mitkProcessExecutor.cpp Rendering/mitkContourMapper2D.cpp Rendering/mitkContourSetMapper2D.cpp Rendering/mitkContourSetVtkMapper3D.cpp Rendering/mitkContourVtkMapper3D.cpp SegmentationUtilities/BooleanOperations/mitkBooleanOperation.cpp SegmentationUtilities/MorphologicalOperations/mitkMorphologicalOperations.cpp #Added from ML Controllers/mitkSliceBasedInterpolationController.cpp Algorithms/mitkSurfaceStampImageFilter.cpp ) set(RESOURCE_FILES Add_48x48.png Add_Cursor_32x32.png AI_48x48.png AI_Cursor_32x32.png Erase_48x48.png Erase_Cursor_32x32.png Fill_48x48.png Fill_Cursor_32x32.png LiveWire_48x48.png LiveWire_Cursor_32x32.png NewAdd_48x48.png NewAdd_Cursor_32x32.png Otsu_48x48.png Paint_48x48.png Paint_Cursor_32x32.png Pick_48x48.png RegionGrowing_48x48.png RegionGrowing_Cursor_32x32.png Subtract_48x48.png Subtract_Cursor_32x32.png Threshold_48x48.png TwoThresholds_48x48.png Wipe_48x48.png Wipe_Cursor_32x32.png Interactions/dummy.xml Interactions/EditableContourTool.xml Interactions/PickingTool.xml Interactions/PressMoveRelease.xml Interactions/PressMoveReleaseAndPointSetting.xml Interactions/PressMoveReleaseWithCTRLInversion.xml Interactions/PressMoveReleaseWithCTRLInversionAllMouseMoves.xml Interactions/SegmentationToolsConfig.xml Interactions/ContourModelModificationConfig.xml Interactions/ContourModelModificationInteractor.xml ) diff --git a/Modules/SegmentationUI/Qmitk/QmitkCalculateGrayValueStatisticsToolGUI.cpp b/Modules/SegmentationUI/Qmitk/QmitkCalculateGrayValueStatisticsToolGUI.cpp deleted file mode 100644 index 81803dae4e..0000000000 --- a/Modules/SegmentationUI/Qmitk/QmitkCalculateGrayValueStatisticsToolGUI.cpp +++ /dev/null @@ -1,66 +0,0 @@ -/*============================================================================ - -The Medical Imaging Interaction Toolkit (MITK) - -Copyright (c) German Cancer Research Center (DKFZ) -All rights reserved. - -Use of this source code is governed by a 3-clause BSD license that can be -found in the LICENSE file. - -============================================================================*/ - -#include "QmitkCalculateGrayValueStatisticsToolGUI.h" - -#include "QmitkCopyToClipBoardDialog.h" - -MITK_TOOL_GUI_MACRO(MITKSEGMENTATIONUI_EXPORT, QmitkCalculateGrayValueStatisticsToolGUI, "") - -QmitkCalculateGrayValueStatisticsToolGUI::QmitkCalculateGrayValueStatisticsToolGUI() : QmitkToolGUI() -{ - connect(this, SIGNAL(NewToolAssociated(mitk::Tool *)), this, SLOT(OnNewToolAssociated(mitk::Tool *))); -} - -QmitkCalculateGrayValueStatisticsToolGUI::~QmitkCalculateGrayValueStatisticsToolGUI() -{ - if (m_CalculateGrayValueStatisticsTool.IsNotNull()) - { - m_CalculateGrayValueStatisticsTool->StatisticsCompleted -= - mitk::MessageDelegate( - this, &QmitkCalculateGrayValueStatisticsToolGUI::OnCalculationsDone); - } -} - -void QmitkCalculateGrayValueStatisticsToolGUI::OnNewToolAssociated(mitk::Tool *tool) -{ - if (m_CalculateGrayValueStatisticsTool.IsNotNull()) - { - m_CalculateGrayValueStatisticsTool->StatisticsCompleted -= - mitk::MessageDelegate( - this, &QmitkCalculateGrayValueStatisticsToolGUI::OnCalculationsDone); - } - - m_CalculateGrayValueStatisticsTool = dynamic_cast(tool); - - if (m_CalculateGrayValueStatisticsTool.IsNotNull()) - { - m_CalculateGrayValueStatisticsTool->StatisticsCompleted += - mitk::MessageDelegate( - this, &QmitkCalculateGrayValueStatisticsToolGUI::OnCalculationsDone); - } -} - -void QmitkCalculateGrayValueStatisticsToolGUI::OnCalculationsDone() -{ - if (m_CalculateGrayValueStatisticsTool.IsNotNull()) - { - std::string report = m_CalculateGrayValueStatisticsTool->GetReport(); - - // one for linux users - std::cout << report << std::endl; - - // one for window users - QmitkCopyToClipBoardDialog *dialog = new QmitkCopyToClipBoardDialog(report.c_str(), nullptr); - dialog->show(); - } -} diff --git a/Modules/SegmentationUI/Qmitk/QmitkCalculateGrayValueStatisticsToolGUI.h b/Modules/SegmentationUI/Qmitk/QmitkCalculateGrayValueStatisticsToolGUI.h deleted file mode 100644 index f038f7a275..0000000000 --- a/Modules/SegmentationUI/Qmitk/QmitkCalculateGrayValueStatisticsToolGUI.h +++ /dev/null @@ -1,58 +0,0 @@ -/*============================================================================ - -The Medical Imaging Interaction Toolkit (MITK) - -Copyright (c) German Cancer Research Center (DKFZ) -All rights reserved. - -Use of this source code is governed by a 3-clause BSD license that can be -found in the LICENSE file. - -============================================================================*/ - -#ifndef QmitkCalculateGrayValueStatisticsToolGUI_h_Included -#define QmitkCalculateGrayValueStatisticsToolGUI_h_Included - -#include "QmitkToolGUI.h" -#include - -#include "mitkCalculateGrayValueStatisticsTool.h" - -/** - \ingroup org_mitk_gui_qt_interactivesegmentation_internal - \brief GUI for mitk::CalculateGrayValueStatisticsTool. - - Shows nothing. Only when the corresponding tool send a message that statistics are ready, this class pops up a window - showing the results. - - Last contributor: $Author$ -*/ -class MITKSEGMENTATIONUI_EXPORT QmitkCalculateGrayValueStatisticsToolGUI : public QmitkToolGUI -{ - Q_OBJECT - -public: - mitkClassMacro(QmitkCalculateGrayValueStatisticsToolGUI, QmitkToolGUI); - itkFactorylessNewMacro(Self); - itkCloneMacro(Self); - - /// Reacts to signals from mitk::CalculateGrayValueStatisticsTool - void OnCalculationsDone(); - -signals: - -public slots: - -protected slots: - - /// Connected to signal from QmitkToolGUI. We remember the current tool here - void OnNewToolAssociated(mitk::Tool *); - -protected: - QmitkCalculateGrayValueStatisticsToolGUI(); - ~QmitkCalculateGrayValueStatisticsToolGUI() override; - - mitk::CalculateGrayValueStatisticsTool::Pointer m_CalculateGrayValueStatisticsTool; -}; - -#endif diff --git a/Modules/SegmentationUI/Qmitk/QmitkPixelManipulationToolGUI.cpp b/Modules/SegmentationUI/Qmitk/QmitkPixelManipulationToolGUI.cpp deleted file mode 100644 index 7d2a831a20..0000000000 --- a/Modules/SegmentationUI/Qmitk/QmitkPixelManipulationToolGUI.cpp +++ /dev/null @@ -1,116 +0,0 @@ -/*============================================================================ - -The Medical Imaging Interaction Toolkit (MITK) - -Copyright (c) German Cancer Research Center (DKFZ) -All rights reserved. - -Use of this source code is governed by a 3-clause BSD license that can be -found in the LICENSE file. - -============================================================================*/ -#include "QmitkPixelManipulationToolGUI.h" - -#include -#include -#include - -MITK_TOOL_GUI_MACRO(, QmitkPixelManipulationToolGUI, ""); - -QmitkPixelManipulationToolGUI::QmitkPixelManipulationToolGUI() : QmitkToolGUI() -{ - QBoxLayout *mainLayout = new QVBoxLayout(this); - QRadioButton *radio1 = new QRadioButton("change the masked pixels by value: ", this); - QRadioButton *radio2 = new QRadioButton("set the masked pixels to value: ", this); - - radio1->setChecked(true); - - connect(radio1, SIGNAL(toggled(bool)), this, SLOT(SetFixedValueOff(bool))); - connect(radio2, SIGNAL(toggled(bool)), this, SLOT(SetFixedValueOn(bool))); - - mainLayout->addWidget(radio1); - mainLayout->addWidget(radio2); - - m_Slider = new QSlider(Qt::Horizontal, this); - m_Slider->setRange(-5000, 5000); - m_Slider->setValue(0); - - connect(m_Slider, SIGNAL(valueChanged(int)), this, SLOT(OnSliderValueChanged(int))); - - m_Spinner = new QSpinBox(this); - m_Spinner->setRange(-5000, 5000); - m_Spinner->setValue(0); - - connect(m_Spinner, SIGNAL(editingFinished()), this, SLOT(OnSpinBoxChanged())); - - QBoxLayout *layout1 = new QHBoxLayout(); - layout1->addWidget(m_Slider); - layout1->addWidget(m_Spinner); - - QPushButton *okButton = new QPushButton("Ok"); - - connect(okButton, SIGNAL(clicked()), this, SLOT(OnOkButtonClicked())); - - mainLayout->addLayout(layout1); - mainLayout->addWidget(okButton); - - connect(this, SIGNAL(NewToolAssociated(mitk::Tool *)), this, SLOT(OnNewToolAssociated(mitk::Tool *))); -} - -QmitkPixelManipulationToolGUI::~QmitkPixelManipulationToolGUI() -{ - if (m_PixelManipulationTool.IsNotNull()) - { - } -} - -void QmitkPixelManipulationToolGUI::OnNewToolAssociated(mitk::Tool *tool) -{ - if (m_PixelManipulationTool.IsNotNull()) - { - } - m_PixelManipulationTool = dynamic_cast(tool); - if (m_PixelManipulationTool.IsNotNull()) - { - } -} - -void QmitkPixelManipulationToolGUI::SetFixedValueOff(bool flag) -{ - if (flag) - { - if (m_PixelManipulationTool.IsNotNull()) - m_PixelManipulationTool->SetFixedValue(false); - } -} - -void QmitkPixelManipulationToolGUI::SetFixedValueOn(bool flag) -{ - if (flag) - { - if (m_PixelManipulationTool.IsNotNull()) - m_PixelManipulationTool->SetFixedValue(true); - } -} - -void QmitkPixelManipulationToolGUI::OnSpinBoxChanged() -{ - m_Slider->setValue(m_Spinner->value()); -} - -void QmitkPixelManipulationToolGUI::OnSliderValueChanged(int value) -{ - if (m_PixelManipulationTool.IsNotNull()) - { - m_PixelManipulationTool->SetValue(value); - m_Spinner->setValue(value); - } -} - -void QmitkPixelManipulationToolGUI::OnOkButtonClicked() -{ - if (m_PixelManipulationTool.IsNotNull()) - { - m_PixelManipulationTool->CalculateImage(); - } -} diff --git a/Modules/SegmentationUI/Qmitk/QmitkPixelManipulationToolGUI.h b/Modules/SegmentationUI/Qmitk/QmitkPixelManipulationToolGUI.h deleted file mode 100644 index e19705892a..0000000000 --- a/Modules/SegmentationUI/Qmitk/QmitkPixelManipulationToolGUI.h +++ /dev/null @@ -1,47 +0,0 @@ -/*============================================================================ - -The Medical Imaging Interaction Toolkit (MITK) - -Copyright (c) German Cancer Research Center (DKFZ) -All rights reserved. - -Use of this source code is governed by a 3-clause BSD license that can be -found in the LICENSE file. - -============================================================================*/ -#ifndef QMITKPIXELMANIPULATIONTOOLGUI_H -#define QMITKPIXELMANIPULATIONTOOLGUI_H - -#include "QmitkDataStorageComboBox.h" -#include "QmitkToolGUI.h" -#include "mitkPixelManipulationTool.h" -#include -#include - -class QmitkPixelManipulationToolGUI : public QmitkToolGUI -{ - Q_OBJECT -public: - mitkClassMacro(QmitkPixelManipulationToolGUI, QmitkToolGUI); - itkFactorylessNewMacro(Self); - itkCloneMacro(Self); - - protected slots : - - void OnNewToolAssociated(mitk::Tool *); - void OnSliderValueChanged(int); - void OnSpinBoxChanged(); - void OnOkButtonClicked(); - void SetFixedValueOn(bool); - void SetFixedValueOff(bool); - -protected: - QmitkPixelManipulationToolGUI(); - ~QmitkPixelManipulationToolGUI() override; - - mitk::PixelManipulationTool::Pointer m_PixelManipulationTool; - QSlider *m_Slider; - QSpinBox *m_Spinner; - -}; // class -#endif diff --git a/Modules/SegmentationUI/files.cmake b/Modules/SegmentationUI/files.cmake index 466772d08a..55171904f3 100644 --- a/Modules/SegmentationUI/files.cmake +++ b/Modules/SegmentationUI/files.cmake @@ -1,83 +1,79 @@ set( CPP_FILES Qmitk/QmitkSegWithPreviewToolGUIBase.cpp Qmitk/QmitkMultiLabelSegWithPreviewToolGUIBase.cpp Qmitk/QmitkBinaryThresholdToolGUIBase.cpp Qmitk/QmitkBinaryThresholdToolGUI.cpp Qmitk/QmitkBinaryThresholdULToolGUI.cpp -Qmitk/QmitkCalculateGrayValueStatisticsToolGUI.cpp Qmitk/QmitkConfirmSegmentationDialog.cpp Qmitk/QmitkCopyToClipBoardDialog.cpp Qmitk/QmitkDrawPaintbrushToolGUI.cpp Qmitk/QmitkErasePaintbrushToolGUI.cpp Qmitk/QmitkEditableContourToolGUIBase.cpp Qmitk/QmitkLiveWireTool2DGUI.cpp Qmitk/QmitkLassoToolGUI.cpp Qmitk/QmitkOtsuTool3DGUI.cpp Qmitk/QmitkPaintbrushToolGUI.cpp Qmitk/QmitkPickingToolGUI.cpp -Qmitk/QmitkPixelManipulationToolGUI.cpp Qmitk/QmitkSlicesInterpolator.cpp Qmitk/QmitkToolGUI.cpp Qmitk/QmitkToolGUIArea.cpp Qmitk/QmitkToolSelectionBox.cpp Qmitk/QmitknnUNetFolderParser.cpp Qmitk/QmitknnUNetToolGUI.cpp Qmitk/QmitknnUNetWorker.cpp Qmitk/QmitknnUNetGPU.cpp Qmitk/QmitkSurfaceStampWidget.cpp Qmitk/QmitkMaskStampWidget.cpp Qmitk/QmitkSliceBasedInterpolatorWidget.cpp Qmitk/QmitkStaticDynamicSegmentationDialog.cpp Qmitk/QmitkSurfaceBasedInterpolatorWidget.cpp Qmitk/QmitkSimpleLabelSetListWidget.cpp ) set(MOC_H_FILES Qmitk/QmitkSegWithPreviewToolGUIBase.h Qmitk/QmitkMultiLabelSegWithPreviewToolGUIBase.h Qmitk/QmitkBinaryThresholdToolGUIBase.h Qmitk/QmitkBinaryThresholdToolGUI.h Qmitk/QmitkBinaryThresholdULToolGUI.h -Qmitk/QmitkCalculateGrayValueStatisticsToolGUI.h Qmitk/QmitkConfirmSegmentationDialog.h Qmitk/QmitkCopyToClipBoardDialog.h Qmitk/QmitkDrawPaintbrushToolGUI.h Qmitk/QmitkErasePaintbrushToolGUI.h Qmitk/QmitkEditableContourToolGUIBase.h Qmitk/QmitkLiveWireTool2DGUI.h Qmitk/QmitkLassoToolGUI.h Qmitk/QmitkOtsuTool3DGUI.h Qmitk/QmitkPaintbrushToolGUI.h Qmitk/QmitkPickingToolGUI.h -Qmitk/QmitkPixelManipulationToolGUI.h Qmitk/QmitkSlicesInterpolator.h Qmitk/QmitkToolGUI.h Qmitk/QmitkToolGUIArea.h Qmitk/QmitkToolSelectionBox.h Qmitk/QmitknnUNetFolderParser.h Qmitk/QmitknnUNetToolGUI.h Qmitk/QmitknnUNetGPU.h Qmitk/QmitknnUNetWorker.h Qmitk/QmitknnUNetEnsembleLayout.h Qmitk/QmitkSurfaceStampWidget.h Qmitk/QmitkMaskStampWidget.h Qmitk/QmitkSliceBasedInterpolatorWidget.h Qmitk/QmitkStaticDynamicSegmentationDialog.h Qmitk/QmitkSurfaceBasedInterpolatorWidget.h Qmitk/QmitkSimpleLabelSetListWidget.h ) set(UI_FILES Qmitk/QmitkConfirmSegmentationDialog.ui Qmitk/QmitkOtsuToolWidgetControls.ui Qmitk/QmitkSurfaceStampWidgetGUIControls.ui Qmitk/QmitkMaskStampWidgetGUIControls.ui Qmitk/QmitkSliceBasedInterpolatorWidgetGUIControls.ui Qmitk/QmitkSurfaceBasedInterpolatorWidgetGUIControls.ui Qmitk/QmitknnUNetToolGUIControls.ui Qmitk/QmitkEditableContourToolGUIControls.ui ) set(QRC_FILES resources/SegmentationUI.qrc )