7 #ifndef __vtkPlusStream_h 8 #define __vtkPlusStream_h 10 #include "PlusConfigure.h" 11 #include "vtkPlusDataCollectionExport.h" 14 #include "vtkDataObject.h" 48 virtual PlusStatus ReadConfiguration(vtkXMLDataElement* aChannelElement,
bool RequireImageOrientationInChannelConfiguration);
52 virtual PlusStatus WriteConfiguration(vtkXMLDataElement* aChannelElement);
56 aVideoSource = this->VideoSource;
62 bool IsVideoSource3D()
const;
64 int ToolCount()
const {
return this->Tools.size(); }
66 PlusStatus RemoveTool(
const std::string& toolSourceId);
75 int FieldCount()
const {
return this->FieldDataSources.size(); }
77 PlusStatus RemoveFieldDataSource(
const std::string& sourceId);
85 bool GetTrackingDataAvailable();
86 bool GetVideoDataAvailable();
87 bool GetFieldDataAvailable();
88 bool GetTrackingEnabled()
const;
89 bool GetVideoEnabled()
const;
90 bool GetFieldDataEnabled()
const;
93 vtkImageData* GetBrightnessOutput();
96 PlusStatus GetBrightnessFrameSize(FrameSizeType& aDim);
112 virtual PlusStatus GetTrackedFrame(
double timestamp, igsioTrackedFrame& trackedFrame,
bool enableImageData =
true);
113 virtual PlusStatus GetTrackedFrame(igsioTrackedFrame& trackedFrame);
123 virtual PlusStatus GetTrackedFrameListSampled(
double& aTimestampOfLastFrameAlreadyGot,
double& aTimestampOfNextFrameToBeAdded, vtkIGSIOTrackedFrameList* aTrackedFrameList,
double aSamplingPeriodSec,
double maxTimeLimitSec = -1);
134 PlusStatus GetTrackedFrameList(
double& aTimestampOfLastFrameAlreadyGot, vtkIGSIOTrackedFrameList* aTrackedFrameList,
int aMaxNumberOfFramesToAdd);
137 virtual double GetClosestTrackedFrameTimestampByTime(
double time);
140 virtual PlusStatus GetMostRecentTimestamp(
double& ts);
143 virtual PlusStatus GetOldestTimestamp(
double& ts);
147 virtual void ShallowCopy(vtkDataObject*);
150 virtual PlusStatus GetLatestTimestamp(
double& aTimestamp)
const;
155 PlusStatus SetCustomAttribute(
const std::string& attributeId,
const std::string&
value);
156 PlusStatus GetCustomAttribute(
const std::string& attributeId, std::string& output)
const;
157 PlusStatus GetCustomAttributeMap(CustomAttributeMap& output)
const;
159 vtkSetStringMacro(ChannelId);
160 vtkGetStringMacro(ChannelId);
165 vtkSetMacro(SaveRfProcessingParameters,
bool);
175 virtual int GetNumberOfFramesBetweenTimestamps(
double aTimestampFrom,
double aTimestampTo);
DataSourceContainer::const_iterator DataSourceContainerConstIterator
bool HasVideoSource() const
Abstract interface for tracker and video devices.
std::map< std::string, vtkPlusDataSource * > DataSourceContainer
DataSourceContainerIterator GetToolsStartIterator()
CustomAttributeMap::const_iterator CustomAttributeMapConstIterator
StreamBufferItem BrightnessOutputTrackedFrame
DataSourceContainerConstIterator GetToolsEndConstIterator() const
DataSourceContainerIterator GetFieldDataSourcesStartIterator()
std::map< std::string, std::string > CustomAttributeMap
vtkPlusDataSource * TimestampMasterTool
DataSourceContainerIterator GetToolsEndIterator()
vtkPlusDevice * OwnerDevice
DataSourceContainerConstIterator GetFieldDataSourcesStartConstIterator() const
DataSourceContainer Tools
DataSourceContainerConstIterator GetFieldDataSourcesEndConstIterator() const
DataSourceContainerConstIterator GetToolsStartConstIterator() const
DataSourceContainer FieldDataSources
CustomAttributeMap::iterator CustomAttributeMapIterator
FrameSizeType BrightnessFrameSize
DataSourceContainer::iterator DataSourceContainerIterator
vtkPlusDataSource * VideoSource
const char const char * value
Convenience class to combine multiple algorithms to compute a displayable B-mode frame from RF data.
vtkImageData * BlankImage
vtkPlusRfProcessor * RfProcessor
bool SaveRfProcessingParameters
Contains an optional timestamped circular buffer containing the video images and a number of timestam...
PlusStatus GetVideoSource(vtkPlusDataSource *&aVideoSource) const
class for generating basic html tags
void SetOwnerDevice(vtkPlusDevice *_arg)
vtkPlusDevice * GetOwnerDevice() const
CustomAttributeMap CustomAttributes
DataSourceContainerIterator GetFieldDataSourcesEndIterator()
Interface to a 3D positioning tool, video source, or generalized data stream.