-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathPKG-INFO
More file actions
153 lines (120 loc) · 6.05 KB
/
Copy pathPKG-INFO
File metadata and controls
153 lines (120 loc) · 6.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
Metadata-Version: 2.4
Name: parseq
Version: 2026.4.0
Summary: ParSeq is a python software library for Parallel execution of Sequential data analysis
Author-email: Konstantin Klementiev <konstantin.klementiev@gmail.com>
License-Expression: MIT
Project-URL: Homepage, http://parseq.readthedocs.io
Project-URL: Repository, https://github.com/kklmn/ParSeq
Project-URL: Issues, https://github.com/kklmn/ParSeq/issues
Keywords: data-analysis,pipeline,framework,gui,spectroscopy
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: User Interfaces
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.8.0
Requires-Dist: scipy>=1.17.0
Requires-Dist: matplotlib>=2.0.0
Requires-Dist: sphinx>=1.6.2
Requires-Dist: sphinxcontrib-jquery
Requires-Dist: sphinx_tabs
Requires-Dist: autopep8
Requires-Dist: h5py
Requires-Dist: silx>=2.2.0
Requires-Dist: hdf5plugin
Requires-Dist: psutil
Requires-Dist: pyqtwebengine
Requires-Dist: docutils
Requires-Dist: distro
Requires-Dist: colorama
Requires-Dist: xafsmass>=1.6.0
Dynamic: license-file
ParSeq
======
Package ParSeq is a python software library for <ins>Par</ins>allel execution
of <ins>Seq</ins>uential data analysis. It implements a general analysis
framework that consists of transformation nodes -- intermediate stops along the
data pipeline to visualize data, display status and provide user input -- and
transformations that connect the nodes. It provides an adjustable data model
(supports grouping, renaming, moving and drag-and-drop), tunable data format
definitions, 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 defines 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 ParSeq-XAS (an EXAFS analysis pipeline) as an application
example:
<p align="center">
<img src="parseq/help/_images/XAS-foils.gif" width=1282 /></p>
Main features
-------------
- ParSeq allows creating analysis pipelines as lightweight Python packages.
- 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) copying a specific parameter or a group of
parameters from active data items to later selected data items.
- 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, 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.
- General data correction routines for 1D data: range deletion, scaling,
replacement by a spline, deletion of spikes and jump correction.
- Parallel execution of data transformations with multiprocessing or
multithreading (can be opted by the pipeline application).
- Optional curve fitting solvers, also executed in parallel for multiple data
items.
- Informative error handling that provides alerts and stack traceback with the
type and location of the occurred error.
- Optional time profiling of the pipeline, as controlled by a command-line
argument.
- Export of the workflow into a project file. Export of data into various data
formats with accompanied Python scripts that visualize the exported data in
publication-quality 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 displays help pages generated
from the analysis widget doc strings. The help pages are built by Sphinx at
the startup time.
- The pipeline can be operated by the GUI or from a Python script without GUI.
- Optional automatic loading of new data during a measurement time.
The mechanisms for creating nodes, transformations and curve fitting solvers,
connecting them together and creating Qt widgets for the transformations and
and curve fits are exemplified by separately installed analysis packages:
- [ParSeq-XES-scan](https://github.com/kklmn/ParSeq-XES-scan)
- [ParSeq-XAS](https://github.com/kklmn/ParSeq-XAS)
Running without installation
----------------------------
Get the zip files of ParSeq and a ParSeq pipeline from GitHub. Unzip their
folders (`parseq` and e.g. `parseq_XES_scan`) to the same suitable directory,
install [dependencies] (https://parseq.readthedocs.io/instructions.html)
and run the pipeline starter. One advantage of no installation is a single
location of parseq served by any Python installation.
Running with installation
-------------------------
a) Install py `pip`: ``pip install parseq`` and e.g. ``pip install parseq-XAS``.
b) Or install from unzipped GitHub archives: from folders with `pyproject.toml`
run ``python -m pip install .``
After installation, the pipeline starters are runnable from command line, e.g.
as `parseq-XAS`.
Launch an example
-----------------
Run the `*_start.py` module of the pipeline (also available as commands if
ParSeq and the ParSeq pipeline were installed, not just unzipped). You can try
it with ``--help`` to explore the available options. An assumed usage pattern
is to load a project `.pspj` file from GUI or from the starting command line.
Documentation
-------------
See the documentation inside ParSeq or on https://parseq.readthedocs.io
[](https://parseq.readthedocs.io)