Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
mitkImageSliceSelector.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 "mitkImageSliceSelector.h"
14 
16 {
17  mitk::Image::ConstPointer input = this->GetInput();
18  mitk::Image::Pointer output = this->GetOutput();
19 
20  itkDebugMacro(<< "GenerateOutputInformation()");
21 
22  output->Initialize(input->GetPixelType(), 2, input->GetDimensions());
23 
24  if ((unsigned int)m_SliceNr >= input->GetDimension(2))
25  {
26  m_SliceNr = input->GetDimension(2) - 1;
27  }
28 
29  if ((unsigned int)m_TimeNr >= input->GetDimension(3))
30  {
31  m_TimeNr = input->GetDimension(3) - 1;
32  }
33 
34  // initialize geometry
35  output->SetGeometry(dynamic_cast<BaseGeometry *>(
36  input->GetSlicedGeometry(m_TimeNr)->GetPlaneGeometry(m_SliceNr)->Clone().GetPointer()));
37  output->SetPropertyList(input->GetPropertyList()->Clone());
38 }
39 
41 {
43 }
44 
46 {
47 }
48 
50 {
51 }
52 
54 {
56 
58  mitk::Image::Pointer output = this->GetOutput();
59 
60  Image::RegionType requestedRegion;
61  requestedRegion = output->GetRequestedRegion();
62  requestedRegion.SetIndex(2, m_SliceNr);
63  requestedRegion.SetIndex(3, m_TimeNr);
64  requestedRegion.SetIndex(4, m_ChannelNr);
65  requestedRegion.SetSize(2, 1);
66  requestedRegion.SetSize(3, 1);
67  requestedRegion.SetSize(4, 1);
68 
69  input->SetRequestedRegion(&requestedRegion);
70 }
void GenerateInputRequestedRegion() override
mitk::Image::ImageDataItemPointer GetSliceData(int s=0, int t=0, int n=0)
void SetSliceItem(mitk::Image::ImageDataItemPointer dataItem, int s=0, int t=0, int n=0)
itk::ImageRegion< RegionDimension > RegionType
InputImageType * GetInput(void)
OutputType * GetOutput()
Get the output data of this image source object.
void GenerateInputRequestedRegion() override