Tools for analysis of data from the DANAE experiment on HEPHY
Project description
import nproan.analysis import nproan.analysis_funcs import nproan.display import nproan.fitting import nproan.pyroot_funcs import nproan.roan_steps
...these are imported when loading the package.
Modules:
roan_steps: Contains classes for OffNoi, Filter and Gain step. Each class is initialized with a path to a parameter file in .json format. The .calculate() method performs all the computations in the step. It also handles saving of files (paths are defined in the parameter file) This is exposed to the user when importing nproan.
analysis: Contains functions used for analysing/manipulating data. More complex functions are in here (eg more complex than np.nanmean) This is exposed to the user when importing nproan.
display: Contains functions used for displaying data. This is exposed to the user when importing nproan.
analysis_funcs: Contains functions used for analysing/manipulating data. They are also used in the analysis module. This is exposed to the user when importing nproan.
fitting: Contains functions for fitting to data. They are used in the analysis step. This is NOT exposed to the user when importing nproan. It can be imported however (from nproan import fitting)
logger: Class that provides logging capabilities. This is NOT exposed to the user when importing nproan. It can be imported however (from nproan import logger). But it would make no sense.
parallel_funcs: Contains parallelized versions of simple numpy functions. The are used in analysis/analysis_funcs
params: Contains functions for handling parameter .json files. step. This is NOT exposed to the user when importing nproan. It can be imported however (from nproan import params) It would make no sense, since its only used by roan_steps.
pyroot_funcs: Contains functions to interface with ROOT using the pyroot package. This is NOT exposed to the user when importing nproan. It takes a long time to load and should be only loaded when neccesary.
TODO: Prio:
- bad slopes should be ignored in the fitting in the offnoi step
- add infos to plots
- check documentation of functions
- make fitting better: implement a second fitting algorithm and add an option for it
- wiki schreiben
- dinge parallelisieren
- add type hints and write nice documentation (almost done)
- consider combining analysis and analysis_funcs
COL vs ROW Convention:
In ROOT its (col, row), but: data is represented as (frame,row,nreps,col), so i will use (row, col) here Size if data is (frames,column_size,nreps, row_size)
My current philosophy for doing stuff:
- Parameters from the parameter file are stored in the class variables
- Parameters can be boolean or int. for thresholds 0 means no calculation is performed.
- parameter file is in JSON format
- for every step class, the whole parameter file must be loaded
- the filter class loads the offnoi data, and checks consistency with the parameter file
- the gain class loads the filter data, and checks consistency with the parameter file
- one directory (the "common_dir") should be created in a "results" directory on \scratch this should only be done once in the offnoi step in there, a directory "offnoi" should be created the parameter file must be placed there after calculation
- in the filter step a folder path to the "offnoi" directory should be provided along with the parameters consistency of the parameters (from last steps) will be checked
- in the gain step a folder path to the "filter" directory should be provided along with the parameters consistency of the parameters (from last steps) will be checked
- functions that return values should be named get_something(), its preferred To return a value.
- provide some functions that do data manipulation inplace
- data that is loaded from file in the filter or gain step is stored in a class variable
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nproan-0.0.3.tar.gz.
File metadata
- Download URL: nproan-0.0.3.tar.gz
- Upload date:
- Size: 16.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
879c7b117760cc98f8079a12ce2ad5fcf68ee05d85a8df6684f5242c6c69d61f
|
|
| MD5 |
fe14cd36d2be68930a58a5ebea294a0e
|
|
| BLAKE2b-256 |
195548d59807c332c084794c546af4d98664537f49eb451d3093160914fad4f1
|
File details
Details for the file nproan-0.0.3-py3-none-any.whl.
File metadata
- Download URL: nproan-0.0.3-py3-none-any.whl
- Upload date:
- Size: 20.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77b02af93b808f4700dc5fb45eae38aaf1384af03ac5836e613cdcbabd8e836a
|
|
| MD5 |
7fa253f1e9cbdc98a579109ace13fd01
|
|
| BLAKE2b-256 |
637c03be7b8e0bdc7b3dc9174cdf859bd69bae93620971a0368023e026654a18
|