Skip to main content

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

nproan-0.0.3.tar.gz (16.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nproan-0.0.3-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

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

Hashes for nproan-0.0.3.tar.gz
Algorithm Hash digest
SHA256 879c7b117760cc98f8079a12ce2ad5fcf68ee05d85a8df6684f5242c6c69d61f
MD5 fe14cd36d2be68930a58a5ebea294a0e
BLAKE2b-256 195548d59807c332c084794c546af4d98664537f49eb451d3093160914fad4f1

See more details on using hashes here.

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

Hashes for nproan-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 77b02af93b808f4700dc5fb45eae38aaf1384af03ac5836e613cdcbabd8e836a
MD5 7fa253f1e9cbdc98a579109ace13fd01
BLAKE2b-256 637c03be7b8e0bdc7b3dc9174cdf859bd69bae93620971a0368023e026654a18

See more details on using hashes here.

Supported by

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