FAST  3.2.0
Framework for Heterogeneous Medical Image Computing and Visualization
FileStreamer.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include "FAST/ProcessObject.hpp"
4 
6 #include <thread>
7 
8 namespace fast {
9 
13 class FAST_EXPORT FileStreamer : public Streamer {
14  public:
15  void setFilenameFormat(std::string str);
16  void setFilenameFormats(std::vector<std::string> strings);
17  void setStartNumber(uint startNumber);
18  void setStepSize(uint step);
19  void setZeroFilling(uint digits);
20  void setNumberOfReplays(uint replays);
21  void setMaximumNumberOfFrames(uint nrOfFrames);
22  void setTimestampFilename(std::string filepath);
23  void enableLooping();
24  void disableLooping();
28  void setSleepTime(uint milliseconds);
29  int getNrOfFrames();
30 
36  void setUseTimestamp(bool use);
37 
38  ~FileStreamer();
39 
40  virtual std::string getNameOfClass() const { return "FileStreamer"; }
41 
42  void loadAttributes() override;
43  protected:
44  virtual DataObject::pointer getDataFrame(std::string filename) = 0;
45  std::string getFilename(uint i, int currentSequence) const;
46  void generateStream() override;
47  FileStreamer();
48  void execute();
49 
50  bool mLoop;
58 
59  bool mUseTimestamp = true;
60 
61  std::vector<std::string> mFilenameFormats;
62  std::string mTimestampFilename;
63 
64 
65 };
66 
67 }
fast::FileStreamer::mZeroFillDigits
uint mZeroFillDigits
Definition: FileStreamer.hpp:52
fast::Streamer
Definition: Streamer.hpp:19
fast::FileStreamer::mTimestampFilename
std::string mTimestampFilename
Definition: FileStreamer.hpp:62
Streamer.hpp
fast
Definition: AffineTransformation.hpp:7
fast::FileStreamer::mMaximumNrOfFrames
int mMaximumNrOfFrames
Definition: FileStreamer.hpp:55
fast::FileStreamer::mStartNumber
int mStartNumber
Definition: FileStreamer.hpp:53
fast::FileStreamer::mFilenameFormats
std::vector< std::string > mFilenameFormats
Definition: FileStreamer.hpp:61
fast::FileStreamer::getNameOfClass
virtual std::string getNameOfClass() const
Definition: FileStreamer.hpp:40
fast::FileStreamer::mLoop
bool mLoop
Definition: FileStreamer.hpp:50
fast::FileStreamer::mStepSize
uint mStepSize
Definition: FileStreamer.hpp:57
fast::FileStreamer::mNrOfReplays
int mNrOfReplays
Definition: FileStreamer.hpp:51
ProcessObject.hpp
fast::FileStreamer::mNrOfFrames
int mNrOfFrames
Definition: FileStreamer.hpp:54
fast::FileStreamer
Definition: FileStreamer.hpp:13
fast::DataObject::pointer
std::shared_ptr< DataObject > pointer
Definition: DataObject.hpp:16
uint
unsigned int uint
Definition: DataTypes.hpp:16
fast::FileStreamer::mSleepTime
uint mSleepTime
Definition: FileStreamer.hpp:56