00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date$ 00006 Version: $Revision$ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or https://www.mitk.org/copyright.html for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 00018 #ifndef MITK_SEGMENTATION_SINK_H_INCLUDET_WAD 00019 #define MITK_SEGMENTATION_SINK_H_INCLUDET_WAD 00020 00021 #include "mitkNonBlockingAlgorithm.h" 00022 #include "MitkExtExports.h" 00023 00024 namespace mitk 00025 { 00026 00027 class MitkExt_EXPORT SegmentationSink : public NonBlockingAlgorithm 00028 { 00029 public: 00030 00031 mitkClassMacro( SegmentationSink, NonBlockingAlgorithm ) 00032 mitkAlgorithmNewMacro( SegmentationSink ); 00033 00034 protected: 00035 00036 SegmentationSink(); // use smart pointers 00037 virtual ~SegmentationSink(); 00038 00039 00040 virtual void Initialize(const NonBlockingAlgorithm* other = NULL); 00041 virtual bool ReadyToRun(); 00042 00043 virtual bool ThreadedUpdateFunction(); // will be called from a thread after calling StartAlgorithm 00044 00045 void InsertBelowGroupNode(mitk::DataNode* node); 00046 DataNode* LookForPointerTargetBelowGroupNode(const char* name); 00047 DataNode* GetGroupNode(); 00048 00049 private: 00050 00051 }; 00052 00053 } // namespace 00054 00055 #endif 00056 00057