diff options
author | Matthias Vogelgesang <matthias.vogelgesang@kit.edu> | 2016-05-02 09:58:52 +0200 |
---|---|---|
committer | Matthias Vogelgesang <matthias.vogelgesang@kit.edu> | 2016-05-02 09:59:18 +0200 |
commit | 0a09b59fb76a3d7ed4e96ae6f561353328735eea (patch) | |
tree | bab249a85062c98785ed0552653263d2a3282939 /docs | |
parent | 54ac88b383b1695a0f3d2a975a555348c76791d1 (diff) | |
download | ufo-filters-0a09b59fb76a3d7ed4e96ae6f561353328735eea.tar.gz ufo-filters-0a09b59fb76a3d7ed4e96ae6f561353328735eea.tar.bz2 ufo-filters-0a09b59fb76a3d7ed4e96ae6f561353328735eea.tar.xz ufo-filters-0a09b59fb76a3d7ed4e96ae6f561353328735eea.zip |
Add MemoryOut task
Diffstat (limited to 'docs')
-rw-r--r-- | docs/sinks.rst | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/docs/sinks.rst b/docs/sinks.rst index c64a6f0..2c6975d 100644 --- a/docs/sinks.rst +++ b/docs/sinks.rst @@ -45,6 +45,47 @@ File writer 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 ------------- |