IOFormat 1.8.0
Loading...
Searching...
No Matches
ioformat::StackWriter Class Reference

#include <ioformat/StackWriter.h>

Public Member Functions

 StackWriter ()=delete
 

Static Public Member Functions

static void writeFromPattern (std::shared_ptr< iolink::MultiImageView > multi, const std::string &outputFilePathPattern)
 
static void writeFromPattern (std::shared_ptr< iolink::ImageView > stack, const std::string &outputFilePathPattern)
 

Detailed Description

A factory to save stacks of images.

Constructor & Destructor Documentation

◆ StackWriter()

ioformat::StackWriter::StackWriter ( )
delete

Remove constructor, as this class is a static factory.

Member Function Documentation

◆ writeFromPattern() [1/2]

static void ioformat::StackWriter::writeFromPattern ( std::shared_ptr< iolink::ImageView >  stack,
const std::string &  outputFilePathPattern 
)
static

Write a stack of images to many files using a pattern to generate indexed filenames.

N-dimension image will be written as many N-1-dimension images. Last dimension (N) is used as the stack dimension.

e.g. a 3D image of size (10, 20, 30) will be written as 30 images of size (10, 20).

Parameters
stackThe stack of images to write as separated files.
outputFilePathPatternThe pattern for the output file path. The pattern must contain one group of consecutive '%' characters, which will be replaced by the image index.

The count of '%' characters sets the minimum count of digits for printing the image index, but the printed index may include additional digits.

e.g.

  • outputFilePattern = "output%%%%.png" will create files named output0000.png, output0001.png, ...,outut0010.png, outut0011.png,etc.
  • outputFilePattern = "output%%.png" will create files named output00.png, output01.png, ..., output10.png, ..., output100.png, output101.png, etc.
  • outputFilePattern = "output%.png" will create files named output0.png, output1.png, ..., output10.png, output11.png, etc.
Exceptions
InvalidArgumentIf the output file pattern is invalid.
UnsupportedOperationIf the input image cannot be written as a stack.
ErrorIf an error occurs while writing the images.

◆ writeFromPattern() [2/2]

static void ioformat::StackWriter::writeFromPattern ( std::shared_ptr< iolink::MultiImageView >  multi,
const std::string &  outputFilePathPattern 
)
static

Write a list of images to many files using a pattern to generate indexed filenames.

Each frame of the input MultiImageView will be written as a separate file.

Parameters
multiThe list of images to write as separated files.
outputFilePathPatternThe pattern for the output file path. The pattern must contain one group of consecutive '%' characters, which will be replaced by the image index.

The count of '%' characters sets the minimum count of digits for printing the image index, but the printed index may include additional digits.

e.g.

  • outputFilePattern = "output%%%%.png" will create files named output0000.png, output0001.png, ...,outut0010.png, outut0011.png,etc.
  • outputFilePattern = "output%%.png" will create files named output00.png, output01.png, ..., output10.png, ..., output100.png, output101.png, etc.
  • outputFilePattern = "output%.png" will create files named output0.png, output1.png, ..., output10.png, output11.png, etc.
Exceptions
InvalidArgumentIf the output file pattern is invalid.
ErrorIf an error occurs while writing the images.

The documentation for this class was generated from the following file: