Generators¶
Generators produce data and have at least one output but no input.
File reader¶
-
class
read
¶ The reader loads single files from disk to produce a stream of two-dimensional data items. Supported file types depend on the compiled plugin. Raw (.raw) and EDF (.edf) files can always be read without additional support. Additionally, loading TIFF (.tif and .tiff) and HDF5 (.h5) files might be supported.
The nominal resolution can be decreased by specifying the
y
coordinate and aheight
. Due to reduced I/O, this can dramatically improve performance.-
"path"
: string¶ Glob-style pattern that describes the file path. For HDF5 files this must point to a file and a data set separated by a colon, e.g.
/path/to/file.h5:/my/data/set
.
-
"number"
: uint¶ Number of files to read.
-
"start"
: uint¶ First index from where files are read.
-
"step"
: uint¶ Number of files to skip.
-
"y"
: uint¶ Vertical coordinate from where to start reading.
-
"height"
: uint¶ Height of the region that is read from the image.
-
"y-step"
: uint¶ Read every
y-step
row.
-
"convert"
: boolean¶ Convert input data to float elements, enabled by default.
-
"raw-width"
: uint¶ Specifies the width of raw files.
-
"raw-height"
: uint¶ Specifies the height of raw files.
-
"raw-bitdepth"
: uint¶ Specifies the bit depth of raw files.
-
"raw-pre-offset"
: ulong¶ Offset that is skipped before reading the next frame from the current file.
-
"raw-post-offset"
: ulong¶ Offset that is skipped after reading the last frame from the current file.
-
"type"
: enum¶ Overrides the type detection that is based on the file extension. For example, to load .foo files as raw files, set the
type
property to raw.
-
"retries"
: uint¶ Set the number of retries in case files do not exist yet and are being written. If you set this, you must also set
number
otherwise you would have to wait basically forever for the execution to finish. Note, that only files are considered which come after the last successful filename.
-
"retry-timeout"
: uint¶ Seconds to wait before reading new files.
-
Memory reader¶
-
class
memory-in
¶ Reads data from a pre-allocated memory region. Unlike input and output tasks this can be used to interface with other code more directly, e.g. to read from a NumPy buffer:
from gi.repository import Ufo import numpy as np import tifffile ref = np.random.random((512, 512)).astype(np.float32) pm = Ufo.PluginManager() g = Ufo.TaskGraph() sched = Ufo.Scheduler() read = pm.get_task('memory-in') write = pm.get_task('write') read.props.pointer = ref.__array_interface__['data'][0] read.props.width = ref.shape[1] read.props.height = ref.shape[0] read.props.number = 1 write.props.filename = 'out.tif' g.connect_nodes(read, write) sched.run(g) out = tifffile.imread('out.tif') assert np.sum(out - ref) == 0.0
-
"pointer"
: ulong¶ Pointer to pre-allocated memory.
-
"width"
: uint¶ Specifies the width of input.
-
"height"
: uint¶ Specifies the height of input.
-
"number"
: uint¶ Specifies the number of items to read.
-
ZeroMQ subscriber¶
-
class
zmq-sub
¶ Generates a stream from a compatible ZeroMQ data stream, for example published by the
zmq-pub
task.-
"address"
: string¶ Host address of the ZeroMQ publisher. Note, that as of now the publisher binds to a
tcp
endpoint, thus you have to use that as well. By default, the address is set to the local host address 127.0.0.1.
-
UcaCamera reader¶
-
class
camera
¶ The camera task uses libuca to read frames from a connected camera and provides them as a stream.
When
name
is provided, the corresponding plugin is instantiated by the camera task itself. However, an already configured UcaCamera object can also be passed viacamera
.-
"name"
: string¶ Name of the camera that is used.
-
"number"
: uint¶ Number of frames that are recorded.
-
"properties"
: string¶ Property string, i.e.
roi-width=512 exposure-time=0.1
.
Note
This requires third-party library libuca.
-
stdin reader¶
-
class
stdin
¶ Reads data from stdin to produce a valid data stream.
width
,height
andbitdepth
must be set correctly to ensure correctly sized data items.-
"width"
: uint¶ Specifies the width of input.
-
"height"
: uint¶ Specifies the height of input.
-
"bitdepth"
: uint¶ Specifies the bit depth of input.
-
"convert"
: boolean¶ Convert input data types to float, enabled by default.
-
Metaball simulation¶
Data generation¶
-
class
dummy-data
¶ Only asks for image data sized
width
timesheight
timesdepth
and forwardsnumber
of them to the next filter. The data is never touched ifinit
is not set, thus it might be suitable for performance measurements.-
"width"
: uint¶ Width of image data stream.
-
"height"
: uint¶ Height of image data stream.
-
"depth"
: uint¶ Depth of image data stream.
-
"number"
: uint¶ Number of images to produce.
-
"init"
: float¶ Value to initialize the output buffer.
-