fresnel.util#

Overview

Array

Access fresnel memory buffers.

convex_polyhedron_from_vertices

Make a convex polyhedron from vertices.

ImageArray

Access fresnel images.

Details

Utilities.

class fresnel.util.Array(buf, geom)#

Bases: object

Access fresnel memory buffers.

Array provides a python interface to access the internal data of memory buffers stored and managed by fresnel. You can access a Array as if it were a numpy.ndarray (with limited operations). Below, slice is a slice or array indexing mechanic that numpy understands.

Writing

Write to an array with array[slice] = v where v is numpy.ndarray, list, or scalar value to broadcast. When v is a contiguous numpy.ndarray of the same data type, the data is copied directly from v into the internal buffer. Otherwise, it is converted to a numpy.ndarray before copying.

Reading

Read from an array with v = array[slice]. This returns a copy of the data as a numpy.ndarray each time it is called.

shape#

Dimensions of the array.

Type:

tuple[int, [int]]

dtype#

Numpy data type

class fresnel.util.ImageArray(buf, geom)#

Bases: Array

Access fresnel images.

Provide Array functionality withsome additional convenience methods specific to working with images. Images are represented as (W, H, 4) numpy.ndarray of uint8 values in RGBA format.

When a ImageArray is the result of an image in a Jupyter notebook cell, Jupyter will display the image.

fresnel.util.convex_polyhedron_from_vertices(vertices)#

Make a convex polyhedron from vertices.

Parameters:

vertices ((3, ) numpy.ndarray of float32) – Vertices of the polyhedron.

Returns:

Convex hull of vertices in a format used by ConvexPolyhedron.

The dictionary contains the keys face_origin, face_normal, face_color, and radius.

Return type:

dict

The dictionary can be used directly to draw a polyhedron from its vertices:

scene = fresnel.Scene()
polyhedron = fresnel.util.convex_polyhedron_from_vertices(vertices)
geometry = fresnel.geometry.ConvexPolyhedron(scene,
                                             polyhedron,
                                             position=[0, 0, 0],
                                             orientation=[1, 0, 0, 0])