Skip to main content

ParSeq is a python software library for Parallel execution of Sequential data analysis.

Project description


ParSeq
======

Package ParSeq is a python software library for **Par**\ allel execution
of **Seq**\ uential data analysis. It implements a general analysis
framework with an adjustable data model (supports grouping, renaming, moving
and drag-and-drop), plotters for 1D, 2D and 3D data, cross-data analysis
routines and flexible widget work space suitable for single- and multi-screen
computers. It also gives a structure to implement particular analysis pipelines
as relatively lightweight Python packages.

ParSeq is intended for synchrotron based techniques, first of all spectroscopy.

A screenshot of a scanning XES analysis pipeline as an application example:

.. image:: _images/node1.png
:scale: 50 %

Main features
-------------

- ParSeq allows creating analysis pipelines as lightweight modules. The above
example (scanning XES) is ~1000 lines with ~50% of them defining the four
analysis widgets.

- Flexible use of screen area by detachable/dockable transformation nodes
(parts of analysis pipeline).

- Two ways of acting from GUI onto multiple data: (a) simultaneous work with
multiply selected data and (b) applying a specific parameter or a group of
parameters to a later selected subset of data.

- Undo and redo for most of treatment steps.

- Entering into the analysis pipeline at any node, not only at the head of the
pipeline.

- Creation of cross-data combinations (e.g. averaging, RMS or PCA) and their
propagation downstream the pipeline together with the parental data. The
possibility of termination of the parental data at any selected downstream
node.

- Parallel execution of data analysis with multiprocessing or multithreading
(can be opted by the piplene application).

- Export of the workflow into a project file. Export of data into various data
formats (so far unstructured) with accompanied Python scripts that visualize
the exported data for the user to tune their publication plots.

- ParSeq understands container files (presently only hdf5) and adds them to
the system file tree as subfolders. The file tree, including hdf5
containers, is lazy loaded thus enabling big data collections.

- A web viewer widget near each analysis widget for displaying help pages
built from doc strings. The help pages are built by Sphinx at the startup
time.

ParSeq creates a data analysis pipeline consisting of nodes and transformations
that connect the nodes. The pipeline is fed with data (spectra or images),
possibly entering the pipeline at various nodes. The pipeline can be operated
via scripts or GUI. The mechanisms for creating nodes and transformations,
connecting them together and creating Qt widgets for the transformations are
exemplified by separately installed analysis packages:

- `ParSeq-XES-scan <https://github.com/kklmn/ParSeq-XES-scan>`_
- `ParSeq-XES-dispersive <https://github.com/kklmn/ParSeq-XES-dispersive>`_

Dependencies
------------

- `silx <https://github.com/silx-kit/silx>`_ -- used for plotting and Qt imports.
- `sphinx <https://github.com/sphinx-doc/sphinx>`_ -- for building html documentation.

Launch an example
-----------------

Either install ParSeq and a ParSeq pipeline application by their installers to
the standard location or put them to any folder, rename them to their package
names (``parseq`` and e.g. ``parseq_XES_scan``) and start the ``*_start.py``
file of the pipeline. You can try it with ``--test`` to load test data and/or
``--noGUI`` to run the pipeline fully in the terminal and plot only the end
results but an assumed pattern is to load a project ``.pspj`` file from GUI.

Hosting and contact
-------------------

The ParSeq project is hosted on `GitHub <https://github.com/kklmn/ParSeq>`_.
Please use the project’s Issues tab to get help or report an issue.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

parseq-0.8.0.zip (1.9 MB view details)

Uploaded Source

File details

Details for the file parseq-0.8.0.zip.

File metadata

  • Download URL: parseq-0.8.0.zip
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for parseq-0.8.0.zip
Algorithm Hash digest
SHA256 1504300d6ea0ee35912e6c4a01d4915df328a83c10c50b805a2039d7a4c54e6b
MD5 76391f010a99066ab4bf786982c12a67
BLAKE2b-256 ba50a77ef707e63a11dafb0037d5bf88889b89b67b473018b977d43959dd2528

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page