Metadata-Version: 2.5
Name: apantias
Version: 3.0a3
Summary: Tools for analysis of data from the DANAE experiment on HEPHY
Project-URL: Homepage, https://github.com/shakamaran/apantias
Project-URL: Issues, https://github.com/shakamaran/apantias/issues
Author-email: Florian Heinrich <florian@fheinrich.at>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Requires-Python: <3.13,>=3.12
Requires-Dist: bokeh>=3.9.1
Requires-Dist: dask[array,distributed]>=2026.3.0
Requires-Dist: h5py>=3.14.0
Requires-Dist: hdf5plugin>=6.0.0
Requires-Dist: matplotlib>=3.10.9
Requires-Dist: pydantic>=2.13.3
Requires-Dist: pyyaml>=6.0.3
Requires-Dist: rechunker>=0.5.2
Requires-Dist: scipy>=1.15.0
Requires-Dist: zarr>=3.1.6
Description-Content-Type: text/markdown



historical notes:

Tested RAM requirements:
Minimum is 2GB RAM per physical core.
A chunk size of 100MB should reliably work. Must be lowered if RAM runs low.
This chunk size is for the raw_data which is stored in uint16

leave all parameters in the settings instance!

TODO:
move functions from utils to a compute module
edit the compute functions to use the new config
test a fresh run (without reusing, just recalculate everything think about adding that later on)
think about nrepseval for the fresh run
add a parameter on whether to keep the rawdata after the run
think about a folder where the raw zarr data can be saved and reused.
configure dasks memory spilling
maybe use half the processes but 2 threads per if memory problems arise
think about different path handling (relax the .zarr requirement)
remove the sharding stuff in data_f after the rechunk to pixels pass
encapsulate the dask cluster creation. when running it its not necessary to watch the graph, so no need to keep the cluster alive. create it when necessary and destroy it when not used anymore or a exception is thrown. but keep a way to initialize it
DOCUMENT everything that was done

07.09.26:
DONE:
renamed config.py to settings.py
finished the settings structure
added module doc for how the settings should be used


17.09.26:
DONE:
settings must now be passed to a Analysis Class and is owned by it, client is shut down after the run() function of the Analysis class has finished

25.09.26:
DONE:
created new bin_to_h5 and h5_to_zarr functions and tested them

03.10.26:
DONE:
(n_frames, n_rows, n_reps, n_cols)
(frame_idx, row_idx, rep_idx, col_idx)
is now followed everywhere

09.10.26
added slopes and fitting including parameters in settings.py
added a preflight module that checks everything before dask is started
testing of the correctnes of the fit is needed!
