Pipelines and templates

Pipelines and templates#

An HTTomo pipeline is an ordered sequence of data-loading and processing operations described using YAML syntax. Older material may call a pipeline a process list.

The pipeline is assembled from reusable YAML templates. Each template configures one loader or a processing method.

YAML templates#

A method template contains:

  • method: the function to execute

  • module_path: the Python module containing the function

  • parameters: the values passed to the function

For example:

- method: median_filter3d
  module_path: tomopy.misc.corr
  parameters:
    size: 3

This entry tells HTTomo to import median_filter3d from tomopy.misc.corr and run it with size=3.

Data parameters such as the input array are not included because HTTomo manages data flow through its wrapper layer.

Ready-to-use templates are available in Available methods and are generated by the HTTomo-backends YAML generator. See Integrating methods with httomo-backends for the developer workflow.

Pipelines#

A pipeline combines templates in execution order. It must begin with a loader; the remaining methods receive the output of the preceding operation.

For example:

- method: standard_tomo
  module_path: httomo.data.hdf.loaders
  parameters:
    data_path: entry1/tomo_entry/data/data
    image_key_path: entry1/tomo_entry/instrument/detector/image_key
    rotation_angles:
      data_path: entry1/tomo_entry/data/rotation_angle

- method: normalize
  module_path: tomopy.prep.normalize
  parameters:
    cutoff: null
    averaging: mean

- method: minus_log
  module_path: tomopy.prep.normalize
  parameters: {}

HTTomo reads this pipeline from top to bottom: it loads the data, normalises it and then applies the negative logarithm.

Next steps#