Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
CLStaple.cpp
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #include "mitkCommandLineParser.h"
14 #include "mitkIOUtil.h"
15 #include <mitkImageCast.h>
16 
17 #include <itkSTAPLEImageFilter.h>
18 
19 int main(int argc, char* argv[])
20 {
21  typedef itk::Image<unsigned char, 3> MaskImageType;
22  typedef itk::Image<float, 3> ImageType;
23  typedef itk::STAPLEImageFilter<MaskImageType, ImageType> FilterType;
24 
25  FilterType::Pointer filter = FilterType::New();
26  filter->SetForegroundValue(2);
27  for (int i = 2; i < argc; ++i)
28  {
29  MITK_INFO << argv[i];
30  MaskImageType::Pointer itkImg = MaskImageType::New();
31  mitk::Image::Pointer img = mitk::IOUtil::Load<mitk::Image>(argv[i]);
32  mitk::CastToItkImage(img,itkImg);
33  filter->SetInput(i-2, itkImg);
34  }
35  filter->Update();
36  auto out = filter->GetOutput();
38  mitk::CastToMitkImage(out, outImg);
39  mitk::IOUtil::Save(outImg, argv[1]);
40 
41  return EXIT_SUCCESS;
42 }
#define MITK_INFO
Definition: mitkLogMacros.h:18
itk::Image< unsigned char, 3 > ImageType
int main(int argc, char *argv[])
Definition: CLStaple.cpp:19
itk::Image< unsigned char, 3 > MaskImageType
Definition: CLBrainMask.cpp:32
static Pointer New()
void CastToMitkImage(const itk::SmartPointer< ItkOutputImageType > &itkimage, itk::SmartPointer< mitk::Image > &mitkoutputimage)
Cast an itk::Image (with a specific type) to an mitk::Image.
Definition: mitkImageCast.h:74
void MITKCORE_EXPORT CastToItkImage(const mitk::Image *mitkImage, itk::SmartPointer< ItkOutputImageType > &itkOutputImage)
Cast an mitk::Image to an itk::Image with a specific type.
static void Save(const mitk::BaseData *data, const std::string &path, bool setPathProperty=false)
Save a mitk::BaseData instance.
Definition: mitkIOUtil.cpp:774