FAST  3.2.0
Framework for Heterogeneous Medical Image Computing and Visualization
Public Member Functions | List of all members
fast::KinectStreamer Class Reference

Streams data RGB and depth data from a kinect device. More...

#include <KinectStreamer.hpp>

+ Inheritance diagram for fast::KinectStreamer:
+ Collaboration diagram for fast::KinectStreamer:

Public Member Functions

void producerStream ()
 
void setPointCloudFiltering (bool enabled)
 
void setMaxRange (float range)
 
void setMinRange (float range)
 
bool hasReachedEnd ()
 
uint getNrOfFrames () const
 
MeshVertex getPoint (int x, int y)
 
 ~KinectStreamer ()
 
void stop ()
 
- Public Member Functions inherited from fast::Streamer
 Streamer ()
 
virtual ~Streamer ()
 
virtual std::string getNameOfClass () const =0
 
virtual void setMaximumNrOfFrames (int maximumNrOfFrames)
 
- Public Member Functions inherited from fast::ProcessObject
virtual ~ProcessObject ()
 
void update (int executeToken=-1)
 
RuntimeMeasurement::pointer getRuntime ()
 
RuntimeMeasurement::pointer getRuntime (std::string name)
 
RuntimeMeasurementsManager::pointer getAllRuntimes ()
 
void enableRuntimeMeasurements ()
 
void disableRuntimeMeasurements ()
 
void setMainDevice (ExecutionDevice::pointer device)
 
void setMainDeviceCriteria (const DeviceCriteria &citeria)
 
ExecutionDevice::pointer getMainDevice () const
 
void setDevice (uint deviceNumber, ExecutionDevice::pointer device)
 
void setDeviceCriteria (uint deviceNumber, const DeviceCriteria &criteria)
 
ExecutionDevice::pointer getDevice (uint deviceNumber) const
 
virtual DataChannel::pointer getOutputPort (uint portID=0)
 
virtual DataChannel::pointer getInputPort (uint portID=0)
 
virtual void setInputConnection (DataChannel::pointer port)
 
virtual void setInputConnection (uint portID, DataChannel::pointer port)
 
virtual void setInputData (DataObject::pointer data)
 
virtual void setInputData (uint portID, DataObject::pointer data)
 
int getNrOfInputConnections () const
 
int getNrOfOutputPorts () const
 
virtual void loadAttributes ()
 
std::shared_ptr< AttributegetAttribute (std::string id)
 
std::unordered_map< std::string, std::shared_ptr< Attribute > > getAttributes ()
 
void setAttributes (std::vector< std::shared_ptr< Attribute >> attributes)
 
void stopPipeline ()
 
void setModified (bool modified)
 
template<class DataType >
std::shared_ptr< DataTypeupdateAndGetOutputData (uint portID=0)
 
- Public Member Functions inherited from fast::Object
 Object ()
 
virtual ~Object ()
 
ReportergetReporter ()
 

Additional Inherited Members

- Public Types inherited from fast::Streamer
typedef std::shared_ptr< Streamerpointer
 
- Public Types inherited from fast::ProcessObject
typedef std::shared_ptr< ProcessObjectpointer
 
- Public Types inherited from fast::Object
typedef std::shared_ptr< Objectpointer
 
- Static Public Member Functions inherited from fast::Streamer
static std::string getStaticNameOfClass ()
 
- Static Public Member Functions inherited from fast::ProcessObject
static std::string getStaticNameOfClass ()
 
- Static Public Member Functions inherited from fast::Object
static std::string getStaticNameOfClass ()
 
- Protected Member Functions inherited from fast::Streamer
virtual void waitForFirstFrame ()
 
virtual void startStream ()
 
virtual void frameAdded ()
 
virtual void generateStream ()=0
 
- Protected Member Functions inherited from fast::ProcessObject
 ProcessObject ()
 
virtual void preExecute ()
 
virtual void postExecute ()
 
template<class DataType >
void createInputPort (uint portID, bool required=true)
 
template<class DataType >
void createOutputPort (uint portID)
 
template<class DataType >
std::shared_ptr< DataTypegetInputData (uint portID=0)
 
template<class DataType >
std::shared_ptr< DataTypegetOutputData (uint portID=0)
 
void addOutputData (uint portID, DataObject::pointer data)
 
bool hasNewInputData (uint portID)
 
virtual void waitToFinish ()
 
void createOpenCLProgram (std::string sourceFilename, std::string name="")
 
cl::Program getOpenCLProgram (std::shared_ptr< OpenCLDevice > device, std::string name="", std::string buildOptions="")
 
void createFloatAttribute (std::string id, std::string name, std::string description, float initialValue)
 
void createIntegerAttribute (std::string id, std::string name, std::string description, int initialValue)
 
void createBooleanAttribute (std::string id, std::string name, std::string description, bool initialValue)
 
void createStringAttribute (std::string id, std::string name, std::string description, std::string initialValue)
 
float getFloatAttribute (std::string id)
 
int getIntegerAttribute (std::string id)
 
bool getBooleanAttribute (std::string id)
 
std::string getStringAttribute (std::string id)
 
std::vector< float > getFloatListAttribute (std::string id)
 
std::vector< int > getIntegerListAttribute (std::string id)
 
std::vector< bool > getBooleanListAttribute (std::string id)
 
std::vector< std::string > getStringListAttribute (std::string id)
 
void changeDeviceOnInputs (uint deviceNumber, ExecutionDevice::pointer device)
 
void validateInputPortExists (uint portID)
 
void validateOutputPortExists (uint portID)
 
- Protected Member Functions inherited from fast::Object
ReporterreportError ()
 
ReporterreportWarning ()
 
ReporterreportInfo ()
 
ReporterEnd reportEnd () const
 
- Protected Attributes inherited from fast::Streamer
bool m_firstFrameIsInserted = false
 
bool m_streamIsStarted = false
 
bool m_stop = false
 
std::mutex m_firstFrameMutex
 
std::mutex m_stopMutex
 
std::unique_ptr< std::thread > m_thread
 
std::condition_variable m_firstFrameCondition
 
- Protected Attributes inherited from fast::ProcessObject
bool mIsModified
 
int m_lastExecuteToken = -1
 
RuntimeMeasurementsManager::pointer mRuntimeManager
 
std::unordered_map< uint, bool > mRequiredInputs
 
std::unordered_map< uint, std::vector< uint > > mInputDevices
 
std::unordered_map< uint, ExecutionDevice::pointermDevices
 
std::unordered_map< uint, DeviceCriteriamDeviceCriteria
 
std::unordered_map< uint, DataChannel::pointermInputConnections
 
std::unordered_map< uint, std::vector< std::weak_ptr< DataChannel > > > mOutputConnections
 
std::unordered_map< uint, bool > mInputPorts
 
std::unordered_set< uintmOutputPorts
 
std::unordered_map< uint, std::pair< DataObject::pointer, uint64_t > > mLastProcessed
 
std::unordered_map< std::string, std::shared_ptr< OpenCLProgram > > mOpenCLPrograms
 
std::unordered_map< std::string, std::shared_ptr< Attribute > > mAttributes
 
std::unordered_map< std::string, std::string > m_frameData
 
std::unordered_set< std::string > m_lastFrame
 
int m_maximumNrOfFrames = -1
 
- Protected Attributes inherited from fast::Object
std::weak_ptr< ObjectmPtr
 

Detailed Description

Streams data RGB and depth data from a kinect device.

The RGB camera and depth stream are registered so that a color value for each point in the point cloud is established.

Output port 0: Registered RGB image Output port 1: Registered depth image Output port 2: Registered point cloud

Constructor & Destructor Documentation

◆ ~KinectStreamer()

fast::KinectStreamer::~KinectStreamer ( )

Member Function Documentation

◆ getNrOfFrames()

uint fast::KinectStreamer::getNrOfFrames ( ) const

◆ getPoint()

MeshVertex fast::KinectStreamer::getPoint ( int  x,
int  y 
)

Gets corresponding 3D point from rgb image coordinate

Parameters
x
y
Returns

◆ hasReachedEnd()

bool fast::KinectStreamer::hasReachedEnd ( )

◆ producerStream()

void fast::KinectStreamer::producerStream ( )

◆ setMaxRange()

void fast::KinectStreamer::setMaxRange ( float  range)

Set maximum range in meters. All points above this range will be dropped.

Parameters
range

◆ setMinRange()

void fast::KinectStreamer::setMinRange ( float  range)

Set minimum range in meters. All points below this range will be dropped.

Parameters
range

◆ setPointCloudFiltering()

void fast::KinectStreamer::setPointCloudFiltering ( bool  enabled)

◆ stop()

void fast::KinectStreamer::stop ( )
virtual

Stop the stream

Reimplemented from fast::Streamer.


The documentation for this class was generated from the following file: