DisplaySafe

class imagepypelines_image.DisplaySafe

Bases: imagepypelines_image.blocks.NormAB

normalizes to [0,255] and bins to a displayable bitdepth

Default Enforcement:
  1. image

    type: np.ndarray shapes: [(None,None), (None,None,None)]

Batch Size:

“each”

Attributes Summary

args

arguments in the order they are expected

id

A unique id for this block

n_args

Number of arguments for the process function

Methods Summary

__call__(*args)

Allows any block to act as a callable, aliasing the process method

check_setup(task_args)

briefly checks setup with the provided task inputs.

copy()

fetches a shallow copy of this block with the UUID updated

deepcopy()

fetches a deep copy of this block with the UUID updated

enforce(arg[, types, shapes, containers])

sets the block up to make sure the given arg is the assigned type and shapes

get_default_node_attrs()

all values must be json serializable

postprocess()

runs after

preprocess()

runs before all batches are processed

process(arr)

normalizes to given range and cast

rename(name)

renames the block to the given name.

Attributes Documentation

args

arguments in the order they are expected

Type

list of str

id

A unique id for this block

This id is a combination of the block’s non-unique name and part of it’s uuid (last 6 characters by default). The entropy of this id can be increased by increasing ImagePypelines UUID_ORDER variable

Type

str

n_args

Number of arguments for the process function

Type

int

Methods Documentation

__call__(*args)

Allows any block to act as a callable, aliasing the process method

check_setup(task_args)

briefly checks setup with the provided task inputs.

This function can be overloaded to add additional functionality if desired. By default it simply checks if too many or too few arguments were provided.

Parameters

task_args (tuple of str) – Arguments for this task

Note

Be very careful making task-specific modifications to the block setup in this function. It’s called once for every task this block is in. Changes made for one task may not apply to another task.

copy()

fetches a shallow copy of this block with the UUID updated

deepcopy()

fetches a deep copy of this block with the UUID updated

enforce(arg, types=None, shapes=None, containers=None)

sets the block up to make sure the given arg is the assigned type and shapes

Parameters
  • arg (str) – name the process function argument you want to enforce checking on

  • types (tuple of type) – the types to restrict this argument to. If left as None, then no type checking will be done

  • shapes (tuple of type) – the shapes to restrict this argument to. If left as None, then no shape checking will be done

  • containers (tuple of type) – the containers to restrict this argument to. If left as None, then no container checking will be done. if batch_type is “each”, then the container is irrelevant and can be safely ignored!

Returns

self

Return type

Block

Note

This function must be called after the parent block is instantiated!

That is, in your __init__ function, you must call super().__init__ before calling self.enforce

get_default_node_attrs()

all values must be json serializable

postprocess()

runs after

all batches are processed

preprocess()

runs before all batches are processed

process(arr)

normalizes to given range and cast

Parameters

arr (numpy.ndarray) – array of any shape and type

Returns

normalized array of same shape and casted

to the given type

Return type

numpy.ndarray

rename(name)

renames the block to the given name. The id is reset in this process