20 #include "itkOrImageFilter.h" 38 m_PositionEvent(nullptr),
40 m_UpperThreshold(200),
91 return "2D Fast Marching";
218 Superclass::Activated();
248 Superclass::Deactivated();
259 timeSelector->UpdateLargestPossibleRegion();
278 bool isDeprecatedUnsignedCharSegmentation =
279 (workingImage->GetPixelType().GetComponentType() == itk::ImageIOBase::UCHAR);
281 if (isDeprecatedUnsignedCharSegmentation)
283 typedef itk::Image<unsigned char, 2> OutputUCharImageType;
284 OutputUCharImageType::Pointer workingImageSliceInITK = OutputUCharImageType::New();
288 typedef itk::OrImageFilter<OutputImageType, OutputUCharImageType, OutputUCharImageType> OrImageFilterType;
289 OrImageFilterType::Pointer orFilter = OrImageFilterType::New();
292 orFilter->SetInput2(workingImageSliceInITK);
299 OutputImageType::Pointer workingImageSliceInITK = OutputImageType::New();
303 typedef itk::OrImageFilter<OutputImageType, OutputImageType> OrImageFilterType;
304 OrImageFilterType::Pointer orFilter = OrImageFilterType::New();
307 orFilter->SetInput(1, workingImageSliceInITK);
313 segmentationResult->GetGeometry()->SetOrigin(workingImageSlice->GetGeometry()->GetOrigin());
314 segmentationResult->GetGeometry()->SetIndexToWorldTransform(
315 workingImageSlice->GetGeometry()->GetIndexToWorldTransform());
334 if (positionEvent ==
nullptr)
353 m_WorkingPlane = positionEvent->GetSender()->GetCurrentWorldPlaneGeometry()->Clone();
359 seedPosition[0] = clickInIndex[0];
360 seedPosition[1] = clickInIndex[1];
363 const double seedValue = 0.0;
364 node.SetValue(seedValue);
365 node.SetIndex(seedPosition);
377 m_ReadyMessage.Send();
402 const unsigned int progress_steps = 20;
413 catch (itk::ExceptionObject &excep)
415 MITK_ERROR <<
"Exception caught: " << excep.GetDescription();
421 std::string msg = excep.GetDescription();
433 result->GetGeometry()->SetIndexToWorldTransform(
m_ReferenceImageSlice->GetGeometry()->GetIndexToWorldTransform());
Super class for all position events.
virtual unsigned int GetSlice() const
#define MITKSEGMENTATION_EXPORT
DataCollection - Class to facilitate loading/accessing structured data.
Constants for most interaction classes, due to the generic StateMachines.
virtual void Add(DataNode *node, const DataStorage::SetOfObjects *parents=nullptr)=0
Adds a DataNode containing a data object to its internal storage.
static Pointer New(BaseRenderer *_arga, const Point2D &_argb)
MITK_TOOL_MACRO(MITKSEGMENTATION_EXPORT, LiveWireTool2D, "LiveWire tool")
static RenderingManager * GetInstance()
Represents an action, that is executed after a certain event (in statemachine-mechanism) TODO: implem...
Module * GetModule() const
Image class for storing images.
ModuleResource GetResource(const std::string &path) const
virtual void Remove(const DataNode *node)=0
Removes node from the DataStorage.
void CastToMitkImage(const itk::SmartPointer< ItkOutputImageType > &itkimage, itk::SmartPointer< mitk::Image > &mitkoutputimage)
Cast an itk::Image (with a specific type) to an mitk::Image.
void MITKCORE_EXPORT CastToItkImage(const mitk::Image *mitkImage, itk::SmartPointer< ItkOutputImageType > &itkOutputImage)
Cast an mitk::Image to an itk::Image with a specific type.
#define CONNECT_FUNCTION(a, f)
static ModuleContext * GetModuleContext()
Returns the module context of the calling module.
void RequestUpdateAll(RequestType type=REQUEST_UPDATE_ALL)