summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorMatthias Vogelgesang <matthias.vogelgesang@kit.edu>2016-05-02 09:58:52 +0200
committerMatthias Vogelgesang <matthias.vogelgesang@kit.edu>2016-05-02 09:59:18 +0200
commit0a09b59fb76a3d7ed4e96ae6f561353328735eea (patch)
treebab249a85062c98785ed0552653263d2a3282939 /docs
parent54ac88b383b1695a0f3d2a975a555348c76791d1 (diff)
downloadufo-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.rst41
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
-------------