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"
: int¶ Number of files to read.
-
"start"
: int¶ First index from where files are read.
-
"step"
: int¶ Number of files to skip.
-
"y"
: int¶ Vertical coordinate from where to start reading.
-
"height"
: int¶ Height of the region that is read from the image.
-
"convert"
: boolean¶ Convert input data to float elements, enabled by default.
-
"type"
: string¶ 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.
-
"raw-width"
: int¶ Specifies the width of raw files.
-
"raw-height"
: int¶ Specifies the height of raw files.
-
"raw-bitdepth"
: int¶ Specifies the bit depth of raw 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 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"
: int¶ Specifies the width of input.
-
"height"
: int¶ Specifies the height of input.
-
"number"
: int¶ Specifies the number of items to read.
-
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
.The amount of processed frames can be controlled with either
count
ortime
.-
"name"
: string¶ Name of the camera that is used.
-
"number"
: int¶ Number of frames that are recorded.
-
"time"
: float¶ Duration over which frames are recorded.
-
"readout"
: boolean¶ If TRUE, start read out instead of recording and grabbing live.
Note
This requires third-party library libuca.
-
stdin reader¶
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"
: int¶ Width of image data stream.
-
"height"
: int¶ Height of image data stream.
-
"depth"
: int¶ Depth of image data stream.
-
"number"
: int¶ Number of images to produce.
-
"init"
: float¶ Value to initialize the output buffer.
-