Medical Imaging Interaction Toolkit  2018.4.99-a28b433c
Medical Imaging Interaction Toolkit
mitkPhotoacousticOCLDelayCalculation.h
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 #ifndef _MITKPHOTOACOUSTICSDELAYCALC_H_
14 #define _MITKPHOTOACOUSTICSDELAYCALC_H_
15 
16 #if defined(PHOTOACOUSTICS_USE_GPU) || DOXYGEN
17 
19 #include <itkObject.h>
21 
22 namespace mitk
23 {
31  class OCLDelayCalculation : public OclDataSetToDataSetFilter, public itk::Object
32  {
33  public:
34  mitkClassMacroItkParent(OCLDelayCalculation, itk::Object);
35  mitkNewMacro1Param(Self, mitk::BeamformingSettings::Pointer);
36 
37  void Update();
38 
43  void SetInputs(cl_mem usedLines)
44  {
45  m_UsedLines = usedLines;
46  }
47 
48  protected:
49 
50  OCLDelayCalculation(mitk::BeamformingSettings::Pointer settings);
51  virtual ~OCLDelayCalculation();
52 
54  bool Initialize();
55 
56  void Execute();
57 
58  mitk::PixelType GetOutputType()
59  {
60  return mitk::MakeScalarPixelType<unsigned short>();
61  }
62 
63  int GetBytesPerElem()
64  {
65  return sizeof(unsigned short);
66  }
67 
68  virtual us::Module* GetModule();
69 
70  int m_sizeThis;
71 
72  private:
74  cl_kernel m_PixelCalculation;
75 
76  BeamformingSettings::Pointer m_Conf;
77  cl_mem m_UsedLines;
78  unsigned int m_BufferSize;
79  float m_DelayMultiplicatorRaw;
80  char m_IsPAImage;
81  size_t m_ChunkSize[3];
82  };
83 }
84 #endif
85 #endif
#define mitkNewMacro1Param(classname, type)
Definition: mitkCommon.h:72
static void Update(vtkPolyData *)
Definition: mitkSurface.cpp:31
DataCollection - Class to facilitate loading/accessing structured data.
#define mitkClassMacroItkParent(className, SuperClassName)
Definition: mitkCommon.h:49
Class for defining the data type of pixels.
Definition: mitkPixelType.h:51