blob: 3e088a423fce5956ef557124f71026a463167332 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
=====
Sinks
=====
Sinks are endpoints and have at least one input but no output.
File writer
===========
.. gobj:class:: write
Writes input data to the file system. Support for writing depends on compile
support, however raw (`.raw`) files can always be written. TIFF (`.tif` and
`.tiff`), HDF5 (`.h5`) and JPEG (`.jpg` and `.jpeg`) might be supported
additionally.
.. gobj:prop:: filename:string
Format string specifying the location and filename pattern of the
written data. It must contain at most *one* integer format specifier
that denotes the current index of a series. For example,
``"data-%03i.tif"`` produces ``data-001.tif``, ``data-002.tif`` and so
on. If no specifier is given, the data is written preferably to a single
file (i.e. multi-tiff, HDF5 data set).
.. gobj:prop:: append:boolean
Append rather than overwrite if ``TRUE``.
.. gobj:prop:: bits:int
Number of bits to store the data if applicable to the file format.
Possible values are 8 and 16 which are saved as integer types and 32 bit
float.
For JPEG files the following property applies:
.. gobj:prop:: quality:int
JPEG quality value between 0 and 100. Higher values correspond to higher
quality and larger file sizes.
Memory writer
=============
.. gobj:class:: memory-out
Writes input to a given memory location. Unlike input and output tasks this
can be used to interface with other code more directly, e.g. to write into a
NumPy buffer::
from gi.repository import Ufo
import numpy as np
import tifffile
ref = tifffile.imread('data.tif')
a = np.zeros_like(ref)
pm = Ufo.PluginManager()
g = Ufo.TaskGraph()
sched = Ufo.Scheduler()
read = pm.get_task('read')
out = pm.get_task('memory-out')
read.props.path = 'data.tif'
out.props.pointer = a.__array_interface__['data'][0]
out.props.max_size = ref.nbytes
g.connect_nodes(read, out)
sched.run(g)
assert np.sum(a - ref) == 0.0
.. gobj:prop:: pointer:ulong
Pointer to pre-allocated memory.
.. gobj:prop:: maxsize:ulong
Size of the pre-allocated memory area in bytes. Data is written up to
that point only.
stdout writer
=============
.. gobj:class:: stdout
Writes input to stdout. To chop up the data stream you can use the UNIX tool split.
.. gobj:prop:: bits
Number of bits for final conversion. Possible values are 8 and 16 which
are saved as integer types and 32 bit float.
Auxiliary sink
==============
Null
====
.. gobj:class:: null
Eats input and discards it.
.. gobj:prop:: force-download:boolean
If *TRUE* force final data transfer from device to host if necessary.
|