UsTK : Ultrasound ToolKit  version 2.0.1 under development (2023-12-07)
tutorial-MHD-sequence-reader.cpp
#include <visp3/ustk_core/usMHDSequenceReader.h>
#include <visp3/ustk_core/usMHDSequenceWriter.h>
int main(int argc, char **argv)
{
std::string sequenceDirectory;
if (argc == 1) {
std::cout << "\nUsage: " << argv[0] << " [--input /path/to/mhd/sequence ] \n" << std::endl;
return 0;
}
for (unsigned int i = 1; i < (unsigned int)argc; i++) {
if (std::string(argv[i]) == "--input") {
sequenceDirectory = std::string(argv[i + 1]);
i = argc;
} else {
std::cout << "\nUsage: " << argv[0] << " [--input /path/to/mhd/sequence ] \n" << std::endl;
return 0;
}
}
std::vector<uint64_t> timestamp;
reader.setSequenceDirectory(sequenceDirectory);
writer.setSequenceDirectory("/tmp"); // set here your outpur directory
uint64_t newTimestamp = 0;
int inc = 0;
// reading loop
while (!reader.end()) {
reader.acquire(image, timestamp);
// print your image informations
std::cout << image;
// add a timestamp of 100ms between each frame
for (unsigned int i = 0; i < timestamp.size(); i++) {
timestamp.at(i) = newTimestamp;
newTimestamp += 100;
}
if (inc % 2 ==
1) // to fit a virtual probe motor sweeping along Z axis (at every volume, frame order is inverted along Z axis)
std::reverse(timestamp.begin(), timestamp.end());
writer.write(image, timestamp);
inc++;
}
return 0;
}
Reader for a sequence of images stored as mhd/raw files in a directory Image sequence files order hav...
void acquire(usImageRF2D< short int > &image, uint64_t &timestamp)
void setSequenceDirectory(const std::string sequenceDirectory)
Writer for a sequence of images stored as mhd/raw files in a directory Image filenames are set based ...
void setSequenceDirectory(const std::string sequenceDirectory)
void write(const usImageRF2D< short int > &image, const uint64_t timestamp)