![]() |
ImFusion C++ SDK 4.5.0
|
#include <ImFusion/Stream/PlaybackImageStream.h>
Image-based stream created from the playback of an image set. More...
Image-based stream created from the playback of an image set.
Public Member Functions | |
| PlaybackImageStream (SharedImageSet &data) | |
| Constructor with image to play back. | |
| SharedImageSet & | data () const |
| bool | topDown () const override |
| Specify based on the input image modality whether the first line of the image data is to be displayed on top. | |
| std::string | uuid () override |
| Unique identifier for stream. | |
| bool | reset () override |
| Resets the current frame index to 0. | |
| bool | supportsPausing () const override |
| Override and return true if this stream implements the pausing and resume operations. | |
| Public Member Functions inherited from ImFusion::ImageStream | |
| ImageStream (const std::string &name="") | |
| Data::Kind | kind () const override final |
| Returns the kind (typically IMAGESTREAM or VOLUMESTREAM). | |
| void | setModality (Modality m) |
| Set the modality descriptor of this stream. | |
| Modality | modality () const override final |
| Return the modality of this stream. | |
| std::optional< ImageDescriptor > | descriptor () const |
| Return the image descriptor of this stream. | |
| int | size () const override |
| Returns the number of images of the image stream per emission. | |
| std::string | describe () const override |
| Short description of the stream including latest state and update rate information. | |
| Public Member Functions inherited from ImFusion::Stream | |
| Stream (const std::string &name="") | |
Constructor with the name for this stream. | |
| virtual ThreadingMode | threadingMode () const |
| Configures threading mode of stream. | |
| virtual bool | supportsAsyncOperation () |
| Returns true if xxxAsync() methods support execution in a background thread. | |
| std::shared_future< bool > | openAsync () |
| Open stream in an asynchronous fashion (wait on the returned future before taking further actions). Returns whether the operation was successful. | |
| std::shared_future< bool > | closeAsync () |
| Close stream in an asynchronous fashion (wait on the returned future before taking further actions). Returns whether the operation was successful. | |
| std::shared_future< bool > | startAsync () |
| Start stream in an asynchronous fashion (wait on the returned future before taking further actions). Returns whether the operation was successful. | |
| std::shared_future< bool > | stopAsync () |
| Stop stream in an asynchronous fashion (wait on the returned future before taking further actions). Returns whether the operation was successful. | |
| std::shared_future< bool > | pauseAsync () |
| Pause stream in an asynchronous fashion (wait on the returned future before taking further actions). Returns whether the operation was successful. | |
| std::shared_future< bool > | resumeAsync () |
| Resume stream in an asynchronous fashion (wait on the returned future before taking further actions). Returns whether the operation was successful. | |
| bool | open () |
| Open stream and wait for the operation to complete. Returns whether the operation was successful. | |
| bool | close () |
| Close stream and wait for the operation to complete. Returns whether the operation was successful. | |
| bool | start () |
| Start stream and wait for the operation to complete. Returns whether the operation was successful. | |
| bool | stop () |
| Stop stream and wait for the operation to complete. Returns whether the operation was successful. | |
| bool | pause () |
| Pause stream and wait for the operation to complete. Returns whether the operation was successful. | |
| bool | resume () |
| Resume stream and wait for the operation to complete. Returns whether the operation was successful. | |
| bool | restart () |
| Stops, closes, opens and starts the stream. Returns whether the operation was successful. | |
| virtual bool | isRunning () const |
| Return whether stream is currently running. | |
| State | currentState () const |
| bool | isStateOneOf (const std::vector< State > &states) const |
| Geometry::AlignedBox | bounds () const override |
| Per default a Stream has empty/invalid bounds. | |
| Pose::TransformationConvention | matrixConvention () const override |
| Matrices of streams by default map to the world coordinate system. | |
| virtual bool | createDefaultStreamController () |
| Indicates whether a StreamController should be created for the stream (by default returns true). | |
| double | updateRate () const |
| Average update rate in Hz of the signalStreamData. | |
| std::string | describe () const override |
| Short description of the stream including latest state and update rate information. | |
| Public Member Functions inherited from ImFusion::Data | |
| Data (const std::string &name="") | |
| Data (const Data &other) | |
| Data & | operator= (const Data &other) |
| virtual | ~Data () |
| Mandatory virtual destructor. | |
| const std::string & | name () const |
| Return the name of this data. | |
| void | setName (const std::string &name) |
| Sets the name of this data. | |
| virtual bool | isAnnotationType () const |
| Return whether this data type is visualized through an annotation (e.g. mesh). | |
| const DataComponentList & | components () const |
| Returns the list of DataComponents for this data. | |
| DataComponentList & | components () |
| virtual void | setMatrixFromWorld (const mat4 &m) |
| Set matrix mapping from the world coordinate system to the data coordinate system. | |
| virtual void | setMatrixToWorld (const mat4 &m) |
| Set matrix mapping from the data coordinate system to the world coordinate system. | |
| virtual mat4 | matrixFromWorld () const |
| Get matrix mapping from the world coordinate system to the data coordinate system. | |
| virtual mat4 | matrixToWorld () const |
| Get matrix mapping from the data coordinate system to the world coordinate system. | |
| virtual mat4 | matrix () const |
| Return the transformation matrix. | |
| virtual void | setMatrix (const mat4 &m) |
| Set the transformation matrix. | |
| Public Member Functions inherited from ImFusion::Configurable | |
| virtual void | configure (const Properties *p) |
| Configure this object instance by de-serializing the given Properties. | |
| virtual void | configuration (Properties *p) const |
| Serialize the current object configuration into the given Properties object. | |
| virtual void | configureDefaults () |
| Retrieve the properties of this object, replaces values with their defaults and sets it again. | |
| void | registerParameter (ParameterBase *param) |
| Register the given Parameter or SubProperty, so that it will be configured during configure()/configuration(). | |
| void | unregisterParameter (const ParameterBase *param) |
| Remove the given Parameter or SubProperty from the list of registered parameters. | |
| Configurable (const Configurable &rhs) | |
| Configurable (Configurable &&rhs) noexcept | |
| Configurable & | operator= (const Configurable &) |
| Configurable & | operator= (Configurable &&) noexcept |
| Public Member Functions inherited from ImFusion::Selectable | |
| Selectable (const Selectable &) | |
| Selectable (Selectable &&) | |
| Selectable & | operator= (const Selectable &) |
| Selectable & | operator= (Selectable &&) |
| virtual Selection | selection () const |
| virtual int | focus () const |
| virtual void | setSelection (const Selection &sel) |
| Set the underlying selection. | |
| virtual void | setFocus (int index) |
| Set focus of the selection. | |
| Public Member Functions inherited from ImFusion::PlaybackStreamBase< PlaybackImageStream > | |
| PlaybackStreamBase (Stream *parentStream=nullptr) | |
| void | setLoop (bool loop) |
| Set whether the playback should loop when reaching the end. | |
| bool | loop () const |
| Get whether the playback is set to loop. | |
| virtual void | setFps (const double fps) |
| Set the playback frame rate in frames per second. | |
| std::optional< double > | fps () const |
| Get the current playback frame rate. | |
| virtual void | setSpeedFactor (double const factor) |
| Set the playback speed factor relative to the original playback speed. | |
| std::optional< double > | speedFactor () const |
| Get the current playback speed factor. | |
| std::optional< double > | calculatedInitialFps () const |
| Get the calculated initial frame rate from equidistant timestamps. | |
| void | jumpToFocus (int focusFrame) |
| Jump to a specific frame in the playback sequence. | |
| int | playbackFocus () const |
| Get the current playback frame index. | |
| void | setSkipDelayedFrames (bool value) |
| Set whether to skip frames in case their subsequent frame is already due. | |
| bool | isSkippingDelayedFrames () const |
| Return whether to skip frames in case their subsequent frame is already due. | |
| void | setUseAbsoluteTimesteps (bool value) |
| Set whether to use absolute timesteps for playback timing. | |
| bool | useAbsoluteTimesteps () const |
| Get whether absolute timesteps are being used. | |
| TimestampsValidity | timestampsValidity () const |
Protected Member Functions | |
| bool | openImpl () override |
| Open stream, no effect. | |
| bool | closeImpl () override |
| Close stream, simply calls stop. | |
| bool | startImpl () override |
| Start stream, launching the playback thread. | |
| bool | stopImpl () override |
| Stop stream, terminating the playback thread. | |
| bool | pauseImpl () override |
| Pause stream. | |
| bool | resumeImpl () override |
| Resume paused stream. | |
| std::optional< WorkContinuation > | doWork () override |
| Create one StreamData and publish it (this function will be called at the desired frame rate) If this is not desired, you can do the following: return std::nullopt;. | |
| bool | workerThreadRequiresOpenGl () const override |
| We don't need an OpenGL context in the default worker thread, since our work happens in the m_playbackTimer callback. | |
| Protected Member Functions inherited from ImFusion::ImageStream | |
| void | setKind (Kind k) |
| Sets the kind (typically IMAGESTREAM or VOLUMESTREAM) and emits signalKindChanged. | |
| Protected Member Functions inherited from ImFusion::Stream | |
| virtual bool | worksWhilePaused () const |
| Override if doWork() should be called also in the Paused state. | |
| void | changeState (State newState) |
| std::shared_future< bool > | attemptStateChange (std::function< bool()> work, State stateWorking, State stateSuccess, State stateError) |
| Protected Member Functions inherited from ImFusion::Data | |
| void | swapWith (Data &other) |
| Swaps the data and emits a matrix and name changed signal for both. | |
| Protected Member Functions inherited from ImFusion::PlaybackStreamBase< PlaybackImageStream > | |
| bool | startPlaybackTimer () |
| Start the internal playback timer, if not already running. | |
| void | setTimestamps (const int numberOfRequiredSamples, const std::optional< std::vector< double > > inputData) |
| Set input timestamps and initialize playback timing parameters. | |
Protected Attributes | |
| SharedImageSet & | m_is |
| Protected Attributes inherited from ImFusion::Data | |
| mat4 | m_matrix |
| Transformation matrix. | |
| std::recursive_mutex * | m_matrixMutex |
| Used to internally synchronize access to the matrix of data. | |
| DataComponentList | m_dataComponentList |
| The list of DataComponents for this data. | |
| Protected Attributes inherited from ImFusion::Configurable | |
| std::vector< Param > | m_params |
| List of all registered Parameter and SubProperty instances. | |
| Protected Attributes inherited from ImFusion::Selectable | |
| std::mutex | m_selectionMutex |
| Mutex protecting the selection. | |
| Selection | m_sel |
| Protected Attributes inherited from ImFusion::PlaybackStreamBase< PlaybackImageStream > | |
| Stream * | m_parentStream |
| If optional parent stream is set, stream data emission is triggered by parent stream. | |
| std::unique_ptr< Threading::PlaybackTimer > | m_playbackTimer |
| Core time controller for the playback stream. | |
| int | m_frame |
| Save the current focus frame index. | |
| TimestampsValidity | m_timestampsValidity |
| check for the validity of the timestamps on the childer classes | |
Additional Inherited Members | |
| Public Types inherited from ImFusion::Stream | |
| enum class | ThreadingMode { BaseClassRunsWorkerThread , DerivedClassHandlesThreading } |
| This flag represents the two supported threading modes of a Stream. More... | |
| enum class | State { Closed , Opening , Open , Starting , Running , Pausing , Paused , Resuming , Stopping , Closing } |
| Public Types inherited from ImFusion::Data | |
| enum | Kind { UNKNOWN = 0 , IMAGE = 1 , VOLUME = 2 , IMAGESET = 3 , VOLUMESET = 4 , IMAGESTREAM = 5 , VOLUMESTREAM = 6 , POINTSET = 7 , SURFACE = 8 , TRACKINGSTREAM = 9 , LIVETRACKINGSTREAM = TRACKINGSTREAM , TRACKINGDATA = 10 , TREE = 11 , TENSOR = 12 , POLYDATASTREAM = 13 , STEREOIMAGESET = 14 , STEREOIMAGESTREAM = 15 , VOLUMETRICMESH = 16 } |
| Kind of data. More... | |
| enum | Modality { NA = 0 , XRAY = 1 , CT = 2 , MRI = 3 , ULTRASOUND = 4 , VIDEO = 5 , NM = 6 , OCT = 7 , LABEL = 8 , DISTANCE = 9 } |
| Image modality of the data. More... | |
| Public Types inherited from ImFusion::PlaybackStreamBase< PlaybackImageStream > | |
| enum | TimestampsValidity |
| Timestamp validity modes that determine playback behavior. | |
| Static Public Member Functions inherited from ImFusion::Stream | |
| static std::string | stateToString (State state) |
| Static Public Member Functions inherited from ImFusion::Data | |
| static std::string | modalityString (Data::Modality m) |
| Return the name of an image modality. | |
| static Data::Modality | stringToModality (const std::string &s) |
| Returns the modality corresponding to a modality string or NA if nothing matches. | |
| Public Attributes inherited from ImFusion::ImageStream | |
| Signal< Data::Kind > | signalKindChanged |
| Is emitted when the stream changes between IMAGESTREAM and VOLUMESTREAM, before the next ImageStreamData is emitted. | |
| Public Attributes inherited from ImFusion::Stream | |
| ProtectedSignal< StateChange > | signalStateChanged |
| Emitted after a state change has been completed with the old and new state. | |
| ProtectedSignal | signalEnded |
| Indicates that the stream reached the end of its data, e.g. when a video stream has played to the end. | |
| ProtectedSignal< std::shared_ptr< const StreamData > > | signalStreamData |
| Signal that is emitted by the stream when a new StreamData is available. | |
| DeprecatedSignal< ProtectedSignal< std::shared_ptr< const StreamData > >, const StreamData & > | signalNewData |
| Signal that is emitted by the stream when a new StreamData is available. | |
| Public Attributes inherited from ImFusion::Data | |
| Signal< const Data * > | signalDeleted |
| Signal emitted when this instance is deleted. | |
| Signal< const Data * > | signalMatrixChanged |
| Signal emitted when the transformation of this Data has changed. | |
| Signal< std::string > | signalNameChanged |
| Signal emitted when the name changed. | |
| Public Attributes inherited from ImFusion::Configurable | |
| Signal | signalParametersChanged |
| Emitted whenever one of the registered Parameters' or SubPropertys' signalValueChanged signal was emitted. | |
| Public Attributes inherited from ImFusion::Selectable | |
| ProtectedSignal | signalSelectionChanged |
| Signals that the selection or size might have changed. | |
| Public Attributes inherited from ImFusion::PlaybackStreamBase< PlaybackImageStream > | |
| Signal | signalPlaybackTimestampsChanged |
| Signal emitted when playback timestamp parameters have changed. | |
|
overridevirtual |
Specify based on the input image modality whether the first line of the image data is to be displayed on top.
Reimplemented from ImFusion::ImageStream.
|
inlineoverridevirtual |
Unique identifier for stream.
Reimplemented from ImFusion::Stream.
|
overridevirtual |
Resets the current frame index to 0.
Reimplemented from ImFusion::Stream.
|
inlineoverridevirtual |
Override and return true if this stream implements the pausing and resume operations.
Overridden method must be constexpr-essible and thread-safe.
Reimplemented from ImFusion::Stream.
|
overrideprotectedvirtual |
Open stream, no effect.
Implements ImFusion::Stream.
|
overrideprotectedvirtual |
Close stream, simply calls stop.
Implements ImFusion::Stream.
|
overrideprotectedvirtual |
Start stream, launching the playback thread.
Implements ImFusion::Stream.
|
overrideprotectedvirtual |
Stop stream, terminating the playback thread.
Implements ImFusion::Stream.
|
overrideprotectedvirtual |
Pause stream.
Reimplemented from ImFusion::Stream.
|
overrideprotectedvirtual |
Resume paused stream.
Reimplemented from ImFusion::Stream.
|
overrideprotectedvirtual |
Create one StreamData and publish it (this function will be called at the desired frame rate) If this is not desired, you can do the following: return std::nullopt;.
Implements ImFusion::Stream.
|
inlineoverrideprotectedvirtual |
We don't need an OpenGL context in the default worker thread, since our work happens in the m_playbackTimer callback.
Reimplemented from ImFusion::ImageStream.