![]() |
ImFusion C++ SDK 4.4.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. | |
| bool | hasTimeStamp () const |
| 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. | |
| 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) |
| bool | loop () const |
| virtual void | setSpeedFactor (double factor) |
| double | speedFactor () const |
| void | jumpToFocus (int focusFrame) |
| int | playbackFocus () const |
| 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) |
| If set to true, the current time is not taken into account, and the timer will wait for amount of time equal to difference between consecutive timestamps In this case all the frames will be played. | |
| bool | useAbsoluteTimesteps () const |
Protected Member Functions | |
| bool | openImpl () override |
| Open stream, no effect. | |
| bool | closeImpl () override |
| Close stream, simply calls stop. | |
| bool | startImpl () override |
| Start stream, running playbackThread. | |
| 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 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 forcus frame index. | |
| double | m_speedFactor |
| Decides the speed of a stream. | |
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... | |
| 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. | |
|
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, running playbackThread.
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.