FAST  3.2.0
Framework for Heterogeneous Medical Image Computing and Visualization
ManualImageStreamer.hpp
Go to the documentation of this file.
1 #ifndef MANUAL_IMAGE_STREAMER_HPP
2 #define MANUAL_IMAGE_STREAMER_HPP
3 
4 
6 #include "FAST/ProcessObject.hpp"
7 #include <thread>
8 
9 namespace fast {
10 
11 class Image;
12 
13 class FAST_EXPORT ManualImageStreamer : public Streamer {
15  public:
16  void addImage(std::shared_ptr<Image> image);
17  void addSequence(std::vector<std::shared_ptr<Image>> images);
18  void setStartNumber(uint startNumber);
19  void setStepSize(uint step);
20  void setZeroFilling(uint digits);
21  void setNumberOfReplays(uint replays);
22  void setStreamingMode(StreamingMode mode);
23  void enableLooping();
24  void disableLooping();
28  void setSleepTime(uint milliseconds);
29  bool hasReachedEnd();
30  uint getNrOfFrames() const;
35  void generateStream() override;
36 
38  private:
40 
41  // Update the streamer if any parameters have changed
42  void execute();
43 
44  bool mLoop;
45  int mNrOfReplays;
46  uint mZeroFillDigits;
47  uint mStartNumber;
48  uint mNrOfFrames;
49  uint mMaximumNrOfFrames;
50  bool mMaximumNrOfFramesSet;
51  uint mSleepTime;
52  uint mStepSize;
53 
54  std::vector<std::vector<std::shared_ptr<Image>>> mImages;
55 };
56 
57 } // end namespace fast
58 
59 #endif
fast::Streamer
Definition: Streamer.hpp:19
Streamer.hpp
fast
Definition: AffineTransformation.hpp:7
fast::StreamingMode
StreamingMode
Definition: Object.hpp:32
FAST_OBJECT
#define FAST_OBJECT(className)
Definition: Object.hpp:9
ProcessObject.hpp
fast::ManualImageStreamer
Definition: ManualImageStreamer.hpp:13
uint
unsigned int uint
Definition: DataTypes.hpp:16