Skip to content

Version 4.0

Compare
Choose a tag to compare
@nicwade nicwade released this 13 Jul 15:15
· 838 commits to master since this release
e26e757

Core Updates:

  • Adds the PluginTools base class from which all *_tools.py files inherit
    • Contains 3 classes
      • PluginParameters
        • Separates all parameter methods from plugin.py
        • Performs checks on parameter definitions
        • Organises parameters with dependencies
      • PluginCitations
        • Performs citation information handling
      • PluginDocumentation
  • Automatically outputs all citations to citations.txt in output folder
  • Outputs Savu exceptions to the user log
  • Fixes bug in data padding when step > 1
  • Updates inheritance of slice list classes

Plugin Updates:

  • Splits plugins into processing and "tools" (parameter and citation) parts
  • Adds a *_tools.py file for every plugin
    • Updates parameter definitions for all plugins
  • Adds citations for regularisation methods
  • Updates LFOVLoader and ImageStitching plugins
  • Fixes convert360180sinogram
  • Adds extra options to downsample_filter plugin
  • Cleans out unused plugins into unregistered folder
  • Fixes a bug in MinAndMax plugin
  • Adds pattern checking to ImageSaver

Configurator Updates:

  • Adds new parameter_utils.py class
    • Performs type checks on all parameters set in the configurator
    • Checks for all basic types, e.g, int, float, bool, filepath
    • Checks for complex types, e.g. list combinations, dictionaries, preview
  • Hides obsolete parameters for a fixed dependency
  • Fixes the order of plugin parameters
  • Adds visibility levels of basic, intermediate, advanced
  • Adds option to view only dataset fields
  • Adds cite command
  • Adds options list
  • Adds expand command for simplified previewing notation
  • Saves plugin citations to process list nexus file

Documentation Updates:

  • Sphinx and rst updates
  • Savu logo and reference fixes
  • Ports Savu confluence pages to docs
  • Adds example plugin templates
  • Fixes plugin API
  • Updates installation information
  • Adds citation information
  • New pages on how to develop a plugin and define parameters

Other Updates:

  • Adds savu-lite installation for PC
  • A more flexible and accelerated installer for Savu HPC
  • Ports continuous integration tests to Github Actions
  • Fixes Savu profiler
  • Fixes Savu citation extractor
  • Adds webhooks/event manager to Github repo for better coding practices
  • Expands test coverage of plugins
  • Local Jenkins server utilised to speed up the release process:
    • A new fully automated software release system for Savu using Jenkins server
    • Nightly builds for dependencies
    • Nightly builds for Savu-lite using pre-built dependencies
    • Bash scripts to automatically update packages in conda environment
    • Semi-automated process of updating packages in Savu HPC installation

New Plugins Added:

  • filters:
    • inpainting:
      • inpainting.py
  • reconstructions:
    • projectors:
      • forward_projector_cpu.py
      • forward_projector_gpu.py