HenriquesLab / HenriquesLab/NanoPyx
Major Issues with nanopyx.methods.esrrf.parameter_sweep
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:
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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