Giter Club home page Giter Club logo

savu's Introduction

savu_full_tests savu_install coverage codefactor scrutinizer zenodo

savu-lite-v savu-lite-latest platform downloads

savu_logo

Tomography Reconstruction and Processing Pipeline

Savu is a Python package to assist with the processing and reconstruction of parallel-beam tomography data. The project originated in the Data Analysis Group at the Diamond Light Source (UK synchrotron) to address the growing, and increasingly complex, needs of the tomography community.

Designed to allow greater flexibility in tomography data processing, Savu is capable of processing N-dimensional full-field tomography and mapping tomography data, along with concurrent processing of multiple datasets such as those collected as part of a multi-modal setup. Savu process lists, tailored to a specific experiment and passed to the framework at runtime along with the data, detail the processing steps that are required.

A Savu process list is created using the Savu configurator tool, which stacks together plugins chosen from a repository. Each plugin performs a specific independent task, such as correction, filtering, reconstruction. For a list of available plugins see plugin API.

Savu is currently in use across the tomography beamlines at Diamond to reconstruct both full-field tomography data and multi-modal, mapping tomography data.

video

Features

  • Full-field and mapping tomography data processing
  • multi-modal data processing
  • Absorption, fluorescence, diffraction and ptychography data processing
  • Handles N-dimensional data and multiple datasets
  • Supports multiple data formats
  • Runs in serial or parallel on your local machine
  • Runs in parallel across a cluster
  • Supports very large data processing with parallel HDF5 (not limited by RAM)
  • Allows flexible data slicing (e.g. alternate between projection and sinogram processing)
  • Plugin architecture with CPU and GPU plugins
  • Processing tailored to a specific experimental setup
  • Easy integration of new functionality

Documentation

The full documentation is available at https://savu.readthedocs.org/en/latest/

Installation (Unix only)

See all installation instructions here

License

The project is licensed under the Apache License, Version 2.0.
Copyright 2014 Diamond Light Source Ltd.

Contacts

Any questions regarding software can be addressed to [email protected].

Get more details at **codescene.io**

savu's People

Contributors

cgowling avatar dannixon avatar dkazanc avatar elainehoml avatar emiliopeju avatar gitter-badger avatar jacob720 avatar jacobfilik avatar jessicavers avatar katrinleinweber avatar malte-storm avatar markbasham avatar mattronix avatar mjn19172 avatar nghia-vo avatar nicwade avatar rcatwood avatar srikanthnagella avatar tschoonj avatar waffle-iron avatar wjp avatar yousefmoazzam avatar zdemat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

savu's Issues

utils squeeze not needed?

line 213 in utils - need to remove squeeze from result (wrt SWTP single frame sinogram centre of mass/alignment correction). It needs the extra dimension in the result even though only 1 (i.e. single slice)

Fix up the tomo loader class

There are quite a few things which could do with a refactor.

  1. hard coded strings should be dealt with as statics
  2. there are some places where there are multiple locations in the NXtomo where things can be found, they should all be tested, as some files don't contain everything they need.

sinogram alignment

want to return new centre of rotation value not just the frame from sinogram alignment

Fix issues with mpi running

the dark and flatfield plugin seems to work incorrectly over MPI. if I were to guess the first part of the flatfield is applied to all sections of the projections, there is a tell tale issue with the top left of each part which is the timestamp on the images.

Get Paganin chain working

There seems to be an issue when generating the initial size of the hdf5 file associated with the paganin step, not sure whether this is not passing the right information though, or why this is happening.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.