FAST  3.2.0
Framework for Heterogeneous Medical Image Computing and Visualization
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
fast::FileStreamer Class Referenceabstract

#include <FileStreamer.hpp>

+ Inheritance diagram for fast::FileStreamer:
+ Collaboration diagram for fast::FileStreamer:

Public Member Functions

void setFilenameFormat (std::string str)
 
void setFilenameFormats (std::vector< std::string > strings)
 
void setStartNumber (uint startNumber)
 
void setStepSize (uint step)
 
void setZeroFilling (uint digits)
 
void setNumberOfReplays (uint replays)
 
void setMaximumNumberOfFrames (uint nrOfFrames)
 
void setTimestampFilename (std::string filepath)
 
void enableLooping ()
 
void disableLooping ()
 
void setSleepTime (uint milliseconds)
 
int getNrOfFrames ()
 
void setUseTimestamp (bool use)
 
 ~FileStreamer ()
 
virtual std::string getNameOfClass () const
 
void loadAttributes () override
 
- Public Member Functions inherited from fast::Streamer
 Streamer ()
 
virtual ~Streamer ()
 
virtual void stop ()
 
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
 
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 ()
 

Protected Member Functions

virtual DataObject::pointer getDataFrame (std::string filename)=0
 
std::string getFilename (uint i, int currentSequence) const
 
void generateStream () override
 
 FileStreamer ()
 
void execute ()
 
- Protected Member Functions inherited from fast::Streamer
virtual void waitForFirstFrame ()
 
virtual void startStream ()
 
virtual void frameAdded ()
 
- 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

bool mLoop
 
int mNrOfReplays
 
uint mZeroFillDigits
 
int mStartNumber
 
int mNrOfFrames
 
int mMaximumNrOfFrames
 
uint mSleepTime
 
uint mStepSize
 
bool mUseTimestamp = true
 
std::vector< std::string > mFilenameFormats
 
std::string mTimestampFilename
 
- 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
 

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 ()
 

Detailed Description

Abstract FileStreamer class

Constructor & Destructor Documentation

◆ ~FileStreamer()

fast::FileStreamer::~FileStreamer ( )

◆ FileStreamer()

fast::FileStreamer::FileStreamer ( )
protected

Member Function Documentation

◆ disableLooping()

void fast::FileStreamer::disableLooping ( )

◆ enableLooping()

void fast::FileStreamer::enableLooping ( )

◆ execute()

void fast::FileStreamer::execute ( )
protectedvirtual

Implements fast::ProcessObject.

◆ generateStream()

void fast::FileStreamer::generateStream ( )
overrideprotectedvirtual

The function producing the data stream

Implements fast::Streamer.

◆ getDataFrame()

virtual DataObject::pointer fast::FileStreamer::getDataFrame ( std::string  filename)
protectedpure virtual

◆ getFilename()

std::string fast::FileStreamer::getFilename ( uint  i,
int  currentSequence 
) const
protected

◆ getNameOfClass()

virtual std::string fast::FileStreamer::getNameOfClass ( ) const
inlinevirtual

Implements fast::Streamer.

◆ getNrOfFrames()

int fast::FileStreamer::getNrOfFrames ( )

◆ loadAttributes()

void fast::FileStreamer::loadAttributes ( )
overridevirtual

Reimplemented from fast::ProcessObject.

◆ setFilenameFormat()

void fast::FileStreamer::setFilenameFormat ( std::string  str)

◆ setFilenameFormats()

void fast::FileStreamer::setFilenameFormats ( std::vector< std::string >  strings)

◆ setMaximumNumberOfFrames()

void fast::FileStreamer::setMaximumNumberOfFrames ( uint  nrOfFrames)

◆ setNumberOfReplays()

void fast::FileStreamer::setNumberOfReplays ( uint  replays)

◆ setSleepTime()

void fast::FileStreamer::setSleepTime ( uint  milliseconds)

Set a sleep time after each frame is read

◆ setStartNumber()

void fast::FileStreamer::setStartNumber ( uint  startNumber)

◆ setStepSize()

void fast::FileStreamer::setStepSize ( uint  step)

◆ setTimestampFilename()

void fast::FileStreamer::setTimestampFilename ( std::string  filepath)

◆ setUseTimestamp()

void fast::FileStreamer::setUseTimestamp ( bool  use)

Enable or disable the use of timestamps when streaming files.

Parameters
use

◆ setZeroFilling()

void fast::FileStreamer::setZeroFilling ( uint  digits)

Member Data Documentation

◆ mFilenameFormats

std::vector<std::string> fast::FileStreamer::mFilenameFormats
protected

◆ mLoop

bool fast::FileStreamer::mLoop
protected

◆ mMaximumNrOfFrames

int fast::FileStreamer::mMaximumNrOfFrames
protected

◆ mNrOfFrames

int fast::FileStreamer::mNrOfFrames
protected

◆ mNrOfReplays

int fast::FileStreamer::mNrOfReplays
protected

◆ mSleepTime

uint fast::FileStreamer::mSleepTime
protected

◆ mStartNumber

int fast::FileStreamer::mStartNumber
protected

◆ mStepSize

uint fast::FileStreamer::mStepSize
protected

◆ mTimestampFilename

std::string fast::FileStreamer::mTimestampFilename
protected

◆ mUseTimestamp

bool fast::FileStreamer::mUseTimestamp = true
protected

◆ mZeroFillDigits

uint fast::FileStreamer::mZeroFillDigits
protected

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