Recent Releases of https://github.com/attpc/spyral
https://github.com/attpc/spyral - v1.0.0 - First Stable Release!
This is the first stable release of Spyral! This means that moving forward we intend to only make backwards-compatible changes until the next full release (i.e. v2.0.0). This is a big milestone for Spyral!
The things that were changed in this specific release are:
- Added support for new merger format for RCNP campaign
- Removed padelectronicsmap parameter. Was basically not used and a headache to sync between the merger and Spyral.
Since the pad_electronics map parameter is gone, you will need to update your scripts accordingly. The examples and documentation have been updated accordingly.
What's Changed
- v1.0.0 first release candidate by @gwm17 in https://github.com/ATTPC/Spyral/pull/262
- Bump to full release by @gwm17 in https://github.com/ATTPC/Spyral/pull/263
- v1.0.0 release by @gwm17 in https://github.com/ATTPC/Spyral/pull/264
Full Changelog: https://github.com/ATTPC/Spyral/compare/v0.18.0...v1.0.0
- Python
Published by gwm17 10 months ago
https://github.com/attpc/spyral - v1.0.0rc0
What's Changed
- Release 0.17.0 by @gwm17 in https://github.com/ATTPC/Spyral/pull/254
- Version 0.17.1 release by @gwm17 in https://github.com/ATTPC/Spyral/pull/256
- Bump to release by @gwm17 in https://github.com/ATTPC/Spyral/pull/260
- v1.0.0 first release candidate by @gwm17 in https://github.com/ATTPC/Spyral/pull/262
Full Changelog: https://github.com/ATTPC/Spyral/compare/v0.18.0rc1...v1.0.0rc0
- Python
Published by gwm17 10 months ago
https://github.com/attpc/spyral - v0.18.0 - Update numba, spyral-utils
This release of Spyral updates some dependencies, in particular numba and spyral-utils, and makes Spyral compatible with numpy 2.1.
What's Changed
- Update dependencies, bump version by @gwm17 in https://github.com/ATTPC/Spyral/pull/257
- Fix type conversion in HardwareID by @gwm17 in https://github.com/ATTPC/Spyral/pull/258
- Bump to release by @gwm17 in https://github.com/ATTPC/Spyral/pull/260
- Release 0.18.0 by @gwm17 in https://github.com/ATTPC/Spyral/pull/259
Full Changelog: https://github.com/ATTPC/Spyral/compare/v0.17.1...v0.18.0
- Python
Published by gwm17 about 1 year ago
https://github.com/attpc/spyral - v0.18.0rc1
v0.18.0rc1 release candidate
- Python
Published by gwm17 about 1 year ago
https://github.com/attpc/spyral - v0.18.0rc0
v0.18.0 first release candidate
- Python
Published by gwm17 about 1 year ago
https://github.com/attpc/spyral - v0.17.1 - Prepare for new numba
spyral-utils has released version 2.0, with Numpy 2.1 compatiblity. This release pins the spyral-utils version in Spyral to <2.0 until we are have finished testing Spyral compatibility with Numba 0.61 and Numpy 2.1.
What's Changed
- Pin upper for spyral-utils by @gwm17 in https://github.com/ATTPC/Spyral/pull/255
- Version 0.17.1 release by @gwm17 in https://github.com/ATTPC/Spyral/pull/256
Full Changelog: https://github.com/ATTPC/Spyral/compare/v0.17.0...v0.17.1
- Python
Published by gwm17 about 1 year ago
https://github.com/attpc/spyral - v0.17.0 - Dragon compatibility, calibrate with drift velocity
In this release of Spyral we've added two new features: compatibility with the HPE-Dragon HPC runtime and calibration of point clouds from a known drift velocity instead of a window time. The documentation has been updated for these changes.
What's Changed
- HPC shared memory by @gwm17 in https://github.com/ATTPC/Spyral/pull/251
- Calibration from drift velo, update docs by @gwm17 in https://github.com/ATTPC/Spyral/pull/253
- Release 0.17.0 by @gwm17 in https://github.com/ATTPC/Spyral/pull/254
Full Changelog: https://github.com/ATTPC/Spyral/compare/v0.16.0...v0.17.0
- Python
Published by gwm17 about 1 year ago
https://github.com/attpc/spyral - v0.17.0rc0
v0.17.0 first release candidate
- Python
Published by gwm17 about 1 year ago
https://github.com/attpc/spyral - v0.16.0 - New Joining, Update spyral-utils
In this release of Spyral, we changed a lot of things!
- New cluster joining algorithm, relying on full 3-D data
- Update spyral-utils allowing for GasMixtureTargets in the solver
- Cleanup internals, refactor some tricky behavior
- Add in experimental new start method to hopefully accommodate HPC environments
- And more!
Check out the documentation for details. Note that spyral-utils minimum version was updated as well.
What's Changed
- Pull hotfix to gwm17_dev by @gwm17 in https://github.com/ATTPC/Spyral/pull/237
- Add Zenodo badge by @gwm17 in https://github.com/ATTPC/Spyral/pull/238
- QoL, Improved Joining by @gwm17 in https://github.com/ATTPC/Spyral/pull/240
- Fix new joining, update version by @gwm17 in https://github.com/ATTPC/Spyral/pull/243
- More joining fixes by @gwm17 in https://github.com/ATTPC/Spyral/pull/244
- Final (hopefully) tweaks to joining by @gwm17 in https://github.com/ATTPC/Spyral/pull/246
- Update spyral-utils, add preliminary dragon_start, set to release by @gwm17 in https://github.com/ATTPC/Spyral/pull/248
- Last min bugfixes for release by @gwm17 in https://github.com/ATTPC/Spyral/pull/250
- 0.16.0 Release PR by @gwm17 in https://github.com/ATTPC/Spyral/pull/249
Full Changelog: https://github.com/ATTPC/Spyral/compare/v0.15.1...v0.16.0
- Python
Published by gwm17 about 1 year ago
https://github.com/attpc/spyral - v0.16.0rc3
v0.16.0 release candidate 3
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.16.0rc3
v0.16.0 release candidate 3
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.16.0rc2
v0.16.0 release candidate 2
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.16.0rc1
v0.16.0rc1 pre-release
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.16.0rc0
v0.16.0 first pre-release
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.15.2 - Generate Zenodo DOI
This is a release which just generates a zenodo DOI, no changes were made to Spyral's software
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.15.1 - TraceReader Hotfix
Hotfix for bug in TraceReader when reading current merger or harmonizer formats. Resulted in crash when trying to access FRIBDAQ data.
What's Changed
- Hotfix reader with MergerCurrent, Harmonic by @gwm17 in https://github.com/ATTPC/Spyral/pull/235
- Hotfix to TraceReader by @gwm17 in https://github.com/ATTPC/Spyral/pull/236
Full Changelog: https://github.com/ATTPC/Spyral/compare/v0.15.0...v0.15.1
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.15.0 - Trace Reader, PointCloud refactor
In this release of Spyral we have cleaned up the TraceReader and PointCloud implementations, as well as cleaning up several bugs found in the pipeline. This update does introduce breaking changes.
- Fix bug in InterpSolverPhase where the wrong key was given to the asset dictionary
- Refactor TraceReader to a Protocol; add implementation for harmonizer data
- Refactor PointCloud to reduce confusion, potentially error-ful behavior
- Update documentation to reflect these changes
- Add two new attributes to events, "origrun" and "origevent". These are the original run and event numbers, produced by the DAQ. With the introduction of the harmonizer tooling, the event number and run number of the file may be modified to better balance workloads. These "orig" attributes allow users to still temporally slice data.
As new attributes were added, after updating the entire analysis pipeline will need to be re-run on a dataset.
What's Changed
- Finish updating docs by @gwm17 in https://github.com/ATTPC/Spyral/pull/221
- Finish updating docs by @gwm17 in https://github.com/ATTPC/Spyral/pull/222
- Add Harmonizer compat, Fix bug in InterpSolver by @gwm17 in https://github.com/ATTPC/Spyral/pull/224
- Fix compat with merger data, refactor PointCloud by @gwm17 in https://github.com/ATTPC/Spyral/pull/226
- Refactor TraceReader by @gwm17 in https://github.com/ATTPC/Spyral/pull/228
- Fix bug in pointcloud, bump to release by @gwm17 in https://github.com/ATTPC/Spyral/pull/229
- Fix bug in clustering by @gwm17 in https://github.com/ATTPC/Spyral/pull/231
- TraceReader, PointCloud refactor by @gwm17 in https://github.com/ATTPC/Spyral/pull/230
Full Changelog: https://github.com/ATTPC/Spyral/compare/v0.14.0...v0.15.0
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.15.0rc2
Second release candidate for v0.15.0
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.15.0rc1
Release candidate 1 for v0.15.0
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.14.0 - Prepare for Polaris, Fix Gated Scaler
Hi everyone,
This is a big release! It addresses a bunch of smaller issues that have cropped up recently:
- Prepare for use in Polaris, resolving #205 and #215
- Fix bug in gated IC scaler counting #213
- Try to make PhaseResult and schemas not as bad #128 and #208
- Remove old PointcloudLegacyPhase; @sigmanotation has a better repo here to start from for that. Addressed #207
The only change that impacts user scripts is the removal of the PointcloudLegacyPhase, which is no longer available.
Let us know if you have any problems!
What's Changed
- Rebase from main by @gwm17 in https://github.com/ATTPC/Spyral/pull/191
- Rebase from dev by @gwm17 in https://github.com/ATTPC/Spyral/pull/192
- Adding env variable support by @gwm17 in https://github.com/ATTPC/Spyral/pull/196
- Remove Si-IC coincidence, count IC scaler within multiplicity gate by @gwm17 in https://github.com/ATTPC/Spyral/pull/200
- Add missing IC counting conditions, update docs by @gwm17 in https://github.com/ATTPC/Spyral/pull/203
- Release 0.13.0 by @gwm17 in https://github.com/ATTPC/Spyral/pull/204
- Remove Legacy, minor changes for Dragon compat, overhaul PhaseResult and Schema by @gwm17 in https://github.com/ATTPC/Spyral/pull/210
- Fix PhaseResult typos by @gwm17 in https://github.com/ATTPC/Spyral/pull/211
- Dependency compat with Polaris by @gwm17 in https://github.com/ATTPC/Spyral/pull/212
- Fix self generated IC scaler by @gwm17 in https://github.com/ATTPC/Spyral/pull/214
- Add generate_assets by @gwm17 in https://github.com/ATTPC/Spyral/pull/216
- Fix bug in PC phase, bump version to release by @gwm17 in https://github.com/ATTPC/Spyral/pull/218
- 0.14.0 Release by @gwm17 in https://github.com/ATTPC/Spyral/pull/217
- Update docs, cleanup docstrings by @gwm17 in https://github.com/ATTPC/Spyral/pull/219
- Update docs, docstrings by @gwm17 in https://github.com/ATTPC/Spyral/pull/220
Full Changelog: https://github.com/ATTPC/Spyral/compare/v0.12.0...v0.14.0
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.14.0rc4
v0.14.0rc4 pre-release
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.14.0rc3
v0.14.0rc3 pre-release
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.14.0rc2
v0.14.0rc2 pre-release
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.14.0rc1
v0.14.0rc1 pre-release
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.14.0rc0
v0.14.0 Pre-release
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.13.0 - Environment variables, Better IC scaler
In this release of Spyral we added some new features that should hopefully continue to make your analysis more stable.
The first is the addition of a new dependency, python-dotenv, which allows us to load .env files which you can use to control the number of threads that libraries like numpy and polars spawn in the background. This should help avoid resource competition when running a lot of Spyral processes.
The next is addressing an issue that was found with the use of Ion Chamber multiplicity gates and the scalers. When using an ion chamber multiplicity gate, you essentially change the trigger used for the analysis when compared with the scalers. To compensate, Spyral will now make it's own IC scaler based on the same conditions used in the analysis.
Finally, after some detailed analysis of the solvers and some discussion about their impact on downstream analysis like cross sections, we have updated the recommendations in the documentation on which solver to use and when. Please take a look at the docs which have been updated for all of these changes and let us know if you have any questions!
What's Changed
- Rebase from main by @gwm17 in https://github.com/ATTPC/Spyral/pull/191
- Rebase from dev by @gwm17 in https://github.com/ATTPC/Spyral/pull/192
- Adding env variable support by @gwm17 in https://github.com/ATTPC/Spyral/pull/196
- Remove Si-IC coincidence, count IC scaler within multiplicity gate by @gwm17 in https://github.com/ATTPC/Spyral/pull/200
- Add missing IC counting conditions, update docs by @gwm17 in https://github.com/ATTPC/Spyral/pull/203
- Release 0.13.0 by @gwm17 in https://github.com/ATTPC/Spyral/pull/204
Full Changelog: https://github.com/ATTPC/Spyral/compare/v0.12.0...v0.13.0
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.13.0rc0
First release candidate for 0.13.0
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.12.0 - Bugfixes and Fitting Controls
In this release of Spyral we cleaned up a whole bunch of little bugs and made our development process a little smoother and more rigorous. We also exposed some fitting controls, allowing users to turn off or on certain fit parameters which have been found to have questionable impact: vertex x, vertex y, and azimuthal angle. We also implemented a new system to read traces that should allow us to better handle changes to the merging system. Overall, you should have a much more stable experience with Spyral after this update!
The issues addressed were: #175 #176 #177 #178 #179 #180 #181 #182 #183 #184 #185 and #186
The documentation has been updated accordingly. Let us know what your experience has been with Spyral!
What's Changed
- Issue templates by @gwm17 in https://github.com/ATTPC/Spyral/pull/172
- Sync with dev by @gwm17 in https://github.com/ATTPC/Spyral/pull/173
- Fix a mess of bugs, some small performance gains by @gwm17 in https://github.com/ATTPC/Spyral/pull/182
- Switch to Ruff, Expose fit controls, Prepare for trace format change by @gwm17 in https://github.com/ATTPC/Spyral/pull/187
- Update by @gwm17 in https://github.com/ATTPC/Spyral/pull/188
- Small bugfixes, prepare for full release by @gwm17 in https://github.com/ATTPC/Spyral/pull/189
- 0.12.0 Release PR by @gwm17 in https://github.com/ATTPC/Spyral/pull/190
Full Changelog: https://github.com/ATTPC/Spyral/compare/v0.11.0...v0.12.0
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.12.0rc1
v0.12.0rc1 pre-release
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.12.0rc0
First 0.12.0 release candidate
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.11.0 - Bugfixes and PID improvements
Hi everyone! This is a small update release of Spyral, but has a few key upgrades in specific areas. The highlights are
start_pipelinenow has an optional argument to pass a list of run numbers to skip- Add psutil dependency to check that mesh is able to fit in physical memory before starting the mesh creation process.
- Fix a bug with SharedMemory on Windows where resources were de-allocated too early
- Remove the short lived logdEdx column in favor of the improved sqrtdEdx column for better PID
Let us know if you run into any problems!
What's Changed
- v0.11.0rc0 PR by @gwm17 in https://github.com/ATTPC/Spyral/pull/169
- Remove truncation, Update docs, Prepare for 0.11.0 by @gwm17 in https://github.com/ATTPC/Spyral/pull/170
- Release v0.11.0 by @gwm17 in https://github.com/ATTPC/Spyral/pull/171
Full Changelog: https://github.com/ATTPC/Spyral/compare/v0.10.0...v0.11.0
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.11.0rc0
Pre-release of v0.11.0 for testing
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.10.0 - Error Bars and Clustering Changes
In this release of Spyral we finally tackled a long standing goal of reporting uncertainties on fitted parameters from the solver! It resulted a fair number of breaking changes, as well as including a bunch of small bug fixes.
- Big goal: Address #150 - A new solver phase InterpLeastSqSolver was developed to report uncertainties on fit parameters by using a different fitting method, the Levenberg-Marquardt Non-Linear Least-Squares algorithm. Both InterpLeastSqSolver and InterpSolver account for data error bars which were estimated from the size of a pad and the width of a time bucket. See the documentation for more details on how/why to use.
- Relatedly, the new solver showed that our performance was degraded in some cases by over-including noise in clustering. This was addressed by modifying some of the clustering behavior as well as adding a new parameter
min_cluster_size_join. Again, see the documentation for more details. - Add new column
log_dEdxin the estimation phase andke,sigma_kefor solving phase. Related, bump spyral-utils to 1.1.0 to allow for user specification of particle ID gate axes. See spyral-utils for more info. Addresses #141. - Change the way we pass default/non-default to PadMap. No longer rely on global switches, instead handle default/non-default on per case basis. Addresses #143.
- Fix bugs in #149, #152, #153
Please let us know if you encounter any problems!
What's Changed
- Release candidate 0 for v0.10.0 by @gwm17 in https://github.com/ATTPC/Spyral/pull/154
- More modification to leastsq solver, bump to 0.10.0rc1 by @gwm17 in https://github.com/ATTPC/Spyral/pull/155
- Improve clustering performance on noise by @gwm17 in https://github.com/ATTPC/Spyral/pull/157
- Bump version for new release candidate by @gwm17 in https://github.com/ATTPC/Spyral/pull/158
- Fix SharedMemory Windows Bug, turn off allowsinglecluster by @gwm17 in https://github.com/ATTPC/Spyral/pull/159
- Continued fixing of clustering by @gwm17 in https://github.com/ATTPC/Spyral/pull/160
- Refactor clustering (again) by @gwm17 in https://github.com/ATTPC/Spyral/pull/161
- Finalizing LeastSq by @gwm17 in https://github.com/ATTPC/Spyral/pull/164
- v0.10.0 InterpLeastSqSolver and Clustering improvements by @gwm17 in https://github.com/ATTPC/Spyral/pull/165
Full Changelog: https://github.com/ATTPC/Spyral/compare/v0.9.0...v0.10.0
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.10.0rc4
Another release candidate attempting to fix our clustering
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.10.0rc3
Pre-release 0.10.0rc3
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.10.0rc2
Improve noise removal in clustering phase
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.10.0rc1
Release candidate 1 for v0.10.0
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.10.0rc0
Release candidate for better errors and some small bugfixes
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.9.0 - Shared Memory
Hi everyone, this release contains a major feature: shared memory! This allows Spyral processes to share resources, and will greatly reduce the memory load when using things like the interpolation mesh. Any phase is allowed to implement shared memory (including user defined phases), but there are some caveats to how it should be used. First is that any shared memory should be treated as read-only. It should not be written to or modified during the main runtime of Spyral. Spyral does not implement any locks for shared memory, and so any modification of the shared memory would result in a race condition. The other is that shared memory is always allocated if the associated phase is to be run, resulting in a constant memory pressure during Spyral's runtime.
The documentation has been updated accordingly. Please let us know what your experience is with this update, and please make a GitHub Issue if you run into any problems!
What's Changed
- Update gwm17_dev by @gwm17 in https://github.com/ATTPC/Spyral/pull/142
- Shared Memory for Phases by @gwm17 in https://github.com/ATTPC/Spyral/pull/145
- Doc updates, print reduction, better exceptions by @gwm17 in https://github.com/ATTPC/Spyral/pull/146
- Finalize Shared Mem, Update docs and README by @gwm17 in https://github.com/ATTPC/Spyral/pull/147
- Update to v0.9.0 by @gwm17 in https://github.com/ATTPC/Spyral/pull/148
Full Changelog: https://github.com/ATTPC/Spyral/compare/v0.8.0...v0.9.0
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.9.0rc01
Pre-release 0.9.0rc1
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.9.0rc
Release candidate for shared memory in the pipeline
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.8.0 - Bugfixes and Pad map cleanup
Hi everyone! In this release we focused on bugfixing and cleaning up some old code in the pad map. The biggest user facing change is that the pad_gain_path parameter does not exist any more, so your code will need to be updated to remove this parameter! Otherwise, below is the list of addressed issues:
- #124 (pad gain and pad xy parts only, time correction needs more testing)
- #128
- #131
- #132
- #135 docs only
- #136
Please report any issues you encounter with this release!
- Python
Published by gwm17 over 1 year ago
https://github.com/attpc/spyral - v0.7.0 - Pipeline Bugfixes and Some Cleanup
Hi everyone! In this release of Spyral we focused on cleaning up some bugs in the Pipeline (thanks everyone for reporting them!) and cleaning up some parts that weren't really used any more.
Some highlights:
- Address a ton of issues: #119 #120 #121 #122 #123 #125 #126 #127
- Update spyral-utils to 1.0.0
- Remove fractionalchargethreshold parameter and the charge analysis when joining clusters.
- clustering functions now return a list of labels for points in the parent point cloud
Thanks again to everyone who helped find these bugs! Note that the changes in here are breaking and that it also updates the version of some dependencies.
- Python
Published by gwm17 almost 2 years ago
https://github.com/attpc/spyral - v0.6.1 - Bugfixes to Default Phases
Fixes a bug where the default InterpSolverPhase saved it's data in the root of the workspace rather than the InterpSolver folder.
- Python
Published by gwm17 almost 2 years ago
https://github.com/attpc/spyral - v0.6.0 - Pipelines and Phases
This is a big release and represents the biggest change to Spyral and it's usage so far! Spyral is now an installable package using
pip install attpc_spyral and focuses on a new analysis Pipeline. The default pipeline (v0.5.0 and earlier) still exists, but it is now much easier to inject new analysis by adding custom phases. There is a lot here, too much for just one release note, so we direct you to the updated documentation for more complete details.
- Add Pipeline and Phase abstract concepts
- Re-implement original Phases as defaults
- Overhaul docs for new system
- Re-organize repo for better usage as a package
- Remove unused utilities and dependencies
- Python
Published by gwm17 almost 2 years ago
https://github.com/attpc/spyral - v0.5.0 -- Removal of Nearest-Neighbor Smoothing
This release is focused on the removal of Nearest-Neighbor Smoothing (NNS) from the clustering phase and accounting for all of the downstream effects. Some of the highlights are
- Removal of NNS! Finally! This was an old artifact from the Dalitz clustering method, which could have dramatic and often times unpredictable effects on the data, including the Particle ID.
- Removal of NNS revealed previously ignored artifact-ing in the point cloud data in the z-coordinate due to the improper handling of conversion from GET TimeBuckets to floating point values. Previously was a simple cast to float, which would result in "clumps" of data in z. Now cast to float and add a random smearing on the interval of [0.0, 1.0) in time buckets. This accurately represents the sampling behavior in the data.
- Removal of NNS as well as user reports revealed bug where point cloud data could sometimes become NaN or Inf if values outside the legal detector volume were attempted to be sent through the electric field correction. Illegal points are now pruned at the clustering phase.
- Removal of NNS necessitated a change to the clustering algorithm. No longer cluster on charge. Without NNS, charge is too diffuse to cluster on. This also allowed simplification of scales as all scales are in the same base units (mm). Only scaling applied is to scale the z-axis to match the x and y axis to avoid over emphasis of z separation in data. These changes affect the recommended default value for epsilon in HDBSCAN. Now recommend value of 10.0 for
cluster_selection_epsilon. - Smoothing factor in estimation phase also needs to be increased. New recommended value is 100.0 (verified with scipy).
Documentation is updated. Notebooks updated. Dependency versions have been bumped in this release, so please reinstall the requirements.txt.
This is a big change to the analysis, and can effect the data outcome. Please use caution when updating, and report any issues or unexpected behavior!
- Python
Published by gwm17 almost 2 years ago
https://github.com/attpc/spyral - v0.4.0 - Ion Chamber Fixes and Scalers
This release changes the way that Spyral interprets ion chamber data as well as adding the parsing of FRIBDAQ scalers. Below is a list of major features and their impact.
- FRIBDAQ scalers are now extracted in the pointcloud phase. Scalers are written to their own dataframe and are stored in the scalers directory of the workspace.
- The ion chamber analysis received a bunch of fixes. The multiplicity threshold is now applied more intuitively. The ion chamber delay is now accounted for using a new parameter in the config
ic_delay_time_bucket. This new parameter allows the user to set the ion chamber delay; all peaks before the delay are discarded and the first peak after (or at) the delay is used as the triggering peak. Also fixed a bug in how the ion chamber offset was applied to point clouds. - Some small improvements to the progress bars
- Some small bugfixes to notebooks
- Update examine_ic.ipynb for changes to ion chamber.
- Fix some documentation mistakes
- Bump a few deps
This release introduces a new configuration parameter, so please update any existing configuration files you are using. This release also bumps the version of a few dependencies, so please re-install the dependencies in requirements.txt.
- Python
Published by gwm17 almost 2 years ago
https://github.com/attpc/spyral - v0.3.1 - Bugfixes and refactors
This is the v0.3.1 release of Spyral. This is a minor update to address two major edge cases that could cause crashing behavior:
- Spline creation can fail for two major reasons: too few points (less than 5) or the data is not monotonic in z. We now catch these events and drop them, with a warning in the log files.
- On some Linux flavors, multiprocessing defaults to using
forkinstead ofspawnto start processes.forkdoes not play well with the parallel backend used by polars. So now we strictly require the use ofspawnto start child processes.
After some testing we also refactored and stabilized the solver_interp code. Unless a revelation occurs, this method most likely will not change dramatically moving forward.
example_analysis.ipynb was also refactored to showcase the use of the vector library bundled as part of spyral-utils.
- Python
Published by gwm17 almost 2 years ago
https://github.com/attpc/spyral - v0.3.0 -- Smoothing Splines
In this release of Spyral, a major change was made to the way that we perform the estimation phase. We now use smoothing splines to generate a smoothed trajectory for estimating parameters such as dEdx and Brho. This results in significantly improved resolution in the particle ID spectrum in particular!
Below is a brief summary: - Smoothing splines in estimation. Significant resolution gains in PID at cost of some runtime performance. - Minor bugfixes in estimation which could result in strange vertex position choices - Bump versions of many deps. In particular, rocket-fft which was not working for python 3.12.
Since dependencies were updated, please use the requirements.txt to update your local environment after updating!
Documentation is also updated for this release
- Python
Published by gwm17 almost 2 years ago
https://github.com/attpc/spyral - v0.2.0 ParticleID moved to spyral-utils, modified IC analysis
For this release there are two major changes to Spyral.
- The first is a change to the way we handle the IC analysis. Previously, the IC had peaks rejected by looking for coincidences with the Si detector. This allowed us to extract the "true" IC peak as well as optionally correct the start time of the GET event. The parameter
event_correct_ic_timewas used to control whether the time correction was applied, but the Si-IC coincidence was always applied. Now, ifevent_correct_ic_timeis set to false, the Si-IC coincidence will not be applied and only the raw IC signal will be considered. - The second is the move of the ParticleID class to spyral-utils. This makes a particle ID gate more portable and usable for further analysis. Additionally, a new dependency was added to spyral-utils, vector. This allows for more complete four-vector analyses.
There were also minor fixes to the particle ID notebook which should make it less brittle to runs where the IC data was not present.
- Python
Published by gwm17 almost 2 years ago
https://github.com/attpc/spyral - v0.1.2 - Fixed bug in phase_solve
Forgot to remove the centerx, centery arguments to solve in phase_solve. Now fixed. No new dependencies or configuration parameters were added to this release.
- Python
Published by gwm17 almost 2 years ago
https://github.com/attpc/spyral - v0.1.1 - Hotfixes to solver, electric field correction
This release fixes bugs found in the solver fit parameters and the electric field correction (application and generation). No new features, configuration parameters, or dependencies were added to the v0.1.0 code, only these fixes.
- Python
Published by gwm17 almost 2 years ago
https://github.com/attpc/spyral - v0.1.0 Fixed Clustering, Solving, Tested
This is the first major release of Spyral! We fixed a whole host of issues found from the alpha and beta testing, and were able to directly verify results against previously analyzed datasets. Hopefully this means that, at a baseline, Spyral should now be able to analyze your data and produce sane results.
Some highlights: - Fixed clustering algorithm joining logic for circle overlap - Fixed ODE generation bugs related to detecting termination events - Switched from default optimization method using least-squares to L-BFGS-B to match previous methods - Optimize parameters for solving phase - Optimize interpolation mesh size to reduce unused space, increase resolution in time - Add more clustering parameters which allow for more control over noise rejection, improve handling of varied-scale events - Fix some weirdness with plotting in notebooks and switch to using matplotlib for histograms, gate drawing - Add plots in notebooks to show the data that is acutally clustered on rather than just the results - Add extension for legacy (pre-FRIBDAQ) data - Test directly against the results from the analysis with IgorPro for the 10Be(d,p) dataset
And many more small changes! As per usual, some versions of some dependencies were bumped as well so please make sure to re-install the dependencies before using this latest version.
- Python
Published by gwm17 almost 2 years ago
https://github.com/attpc/spyral - v0.1.0-beta
After some feedback, we've made some general improvements to Spryal! Below are some highlights:
- The electric field correction from Garfield is now optional, which should make it easier to start analyzing data.
- Fixed a bug in the IC-Si time correction which could result in GET data being shifted far outside the allowed time range.
- Fixed the particle_id.ipynb which was generally busted. This required the addition of matplotlib; it's not a particularly elegant solution, but it will work for now.
- Clustering parameters are improved for finer control. Now use a scaling factor to determine minimum cluster size, combined with a lower cutoff.
- Cleaned up some leftover pieces from the early development cycle. The main branch now only has stable features.
- Fixed some issues with progress bars.
Please see the documentation at https://attpc.github.io./Spyral for complete details!
- Python
Published by gwm17 about 2 years ago
https://github.com/attpc/spyral - v0.1.0-alpha
Spyral is now open for public use!
- Python
Published by gwm17 about 2 years ago