| IOFormat 1.8.0

Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
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

  stack | The stack of images to write as separated files.
  outputFilePathPattern | The 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

  InvalidArgument | If the output file pattern is invalid.
  UnsupportedOperation | If the input image cannot be written as a stack.
  Error | If 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

  multi | The list of images to write as separated files.
  outputFilePathPattern | The 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

  InvalidArgument | If the output file pattern is invalid.
  Error | If an error occurs while writing the images.

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

- ioformat/public/include/ioformat/StackWriter.h