13#include <itksys/SystemTools.hxx> 
   16#include "mitkIOUtil.h" 
   17#include "mitkImageReadAccessor.h" 
   26  m_NumberOfRGBBytes(0),
 
   30  m_RGBCaptureHeight(0),
 
   31  m_ConnectionCheck(false),
 
   33  m_ToFImageType(ToFImageType3D),
 
   34  m_DistanceImage(nullptr),
 
   35  m_AmplitudeImage(nullptr),
 
   36  m_IntensityImage(nullptr),
 
   38  m_DistanceInfile(nullptr),
 
   39  m_AmplitudeInfile(nullptr),
 
   40  m_IntensityInfile(nullptr),
 
   42  m_IntensityArray(nullptr),
 
   43  m_DistanceArray(nullptr),
 
   44  m_AmplitudeArray(nullptr),
 
   46  m_DistanceImageFileName(
""),
 
   47  m_AmplitudeImageFileName(
""),
 
   48  m_IntensityImageFileName(
""),
 
   49  m_RGBImageFileName(
""),
 
   50  m_PixelStartInFile(0),
 
 
   62void ToFCameraMITKPlayerController::CleanUp()
 
  109          this->m_AmplitudeImageFileName.empty() &&
 
  110          this->m_IntensityImageFileName.empty() &&
 
  111          this->m_RGBImageFileName.empty())
 
  113        throw std::logic_error(
"No image data file names set");
 
  122        MITK_ERROR << 
"ToF distance image data file empty";
 
  130        MITK_WARN << 
"ToF amplitude image data file empty";
 
  138        MITK_WARN << 
"ToF intensity image data file empty";
 
  146        MITK_WARN << 
"ToF RGB image data file empty";
 
  168      mitk::Image::Pointer infoImage = 
nullptr;
 
  186      if (infoImage->GetDimension() == 2)
 
  189      else if (infoImage->GetDimension() == 3)
 
  192      else if (infoImage->GetDimension() == 4)
 
  196        throw std::logic_error(
"Error opening ToF data file: Invalid dimension.");
 
  235    catch(std::exception& e)
 
  237      MITK_ERROR << 
"Error opening ToF data file " << this->
m_InputFileName << 
" " << e.what();
 
  238      throw std::logic_error(
"Error opening ToF data file");
 
 
  290  itksys::SystemTools::Delay(50);
 
 
  293void ToFCameraMITKPlayerController::AccessData(
int frame, Image::Pointer image, 
float* &data)
 
  297    ImageReadAccessor imgAcc(image, image->GetSliceData(frame));
 
  298    memcpy(data, imgAcc.GetData(), this->m_NumberOfBytes );
 
  302    ImageReadAccessor imgAcc(image, image->GetVolumeData(frame));
 
  303    memcpy(data, imgAcc.GetData(), this->m_NumberOfBytes);
 
virtual bool CloseCameraConnection()
closes the connection to the camera
 
unsigned char * m_RGBArray
member holding the current rgb frame
 
virtual void UpdateCamera()
updates the current image frames from input
 
Image::Pointer m_RGBImage
 
~ToFCameraMITKPlayerController() override
 
float * m_DistanceArray
member holding the current distance frame
 
Image::Pointer m_DistanceImage
 
int m_PixelNumber
holds the number of pixels contained in the image
 
Image::Pointer m_AmplitudeImage
 
int m_NumberOfBytes
holds the number of bytes contained in the image
 
std::string m_InputFileName
 
int m_RGBCaptureHeight
same for RGB image which can be different then depth etc.
 
ToFImageType m_ToFImageType
type of the ToF image to be played: 3D Volume (ToFImageType3D), temporal 2D image stack (ToFImageType...
 
virtual void GetIntensities(float *intensityArray)
gets the current intensity frame from the input as a greyscale image
 
int m_NumberOfRGBBytes
same for RGB image
 
std::string m_AmplitudeImageFileName
file name of the amplitude image to be played
 
virtual bool OpenCameraConnection()
opens a connection to the ToF camera
 
float * m_AmplitudeArray
member holding the current amplitude frame
 
std::string m_DistanceImageFileName
file name of the distance image to be played
 
int m_CaptureHeight
holds the height of the image
 
std::string m_IntensityImageFileName
file name of the intensity image to be played
 
virtual void GetDistances(float *distanceArray)
gets the current distance frame from the inpug measuring the distance between the camera and the diff...
 
std::string m_RGBImageFileName
file name of the rgb image to be played
 
virtual void GetRgb(unsigned char *rgbArray)
gets the current RGB frame from the input if available
 
int m_CaptureWidth
holds the width of the image
 
std::vector< bool > m_ImageStatus
 
int m_RGBPixelNumber
same for RGB image
 
virtual void SetInputFileName(std::string inputFileName)
 
virtual void GetAmplitudes(float *amplitudeArray)
gets the current amplitude frame from the input These values can be used to determine the quality of ...
 
Image::Pointer m_IntensityImage
 
float * m_IntensityArray
member holding the current intensity frame
 
ToFCameraMITKPlayerController()
 
bool m_ConnectionCheck
flag showing whether the camera is connected (true) or not (false)
 
int m_RGBCaptureWidth
same for RGB image which can be different then depth etc.