HenriquesLab / HenriquesLab/NanoPyx

Major Issues with nanopyx.methods.esrrf.parameter_sweep

Open
#153 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Jupyter Notebook
Stars
93
Forks
13
PR merge metrics
No merged PRs in 30d

Description

The parameter sweep function experiences several errors when attempting to use the n_frames keyword argument. When attempting to split a large data set into 100 frame batches, the function will load the entire data set, creating a memory overflow. I have been able to pass 100 frames to the parameter sweep function without any issues on my laptop with 32GB of RAM. However, attempting to batch large data sets (1000+ frames) into 100 frame chucks causes memory to exceed 75GBs on a high performance cluster.

By reducing the size of the original dataset, the function can run within memory limits; however, it displays a quirk in qnr the calculation returning the impossibly low value of 0. The resulting qnr chart is depicted below, despite moderate similarities in the reference image and the eSRRF image:

Image Image

Please ignore the "1000 frame average" title the variable used in the f-string was outdated. Both the references and eSRRF image are from 10 frames.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at nanopyx.methods.esrrf.parameter_sweep and trace the n_frames handling and qnr calculation. Reproduce the reported 100-frame batching case on large datasets and the low-qnr case on reduced data. Done means batching stays within the intended memory limit and qnr returns a plausible value for the reported reference and eSRRF images.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
computer-vision, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.