NSLS2 / NSLS2/pyCHX

[v2] replacement for ModestImage dependancy

Open
#43 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

discussion help wanted question V2
Dominant language
Jupyter Notebook
Stars
8
Forks
12
Avg merge
2h 53m
Merged PRs (30d)
6

Description

ModestImage was implemented as a dependency to better control matplotlib output. Unsure how much affects _common but this certainly affects _futurepyCHX

  • ModestImage is not part of standard analysis environment
  • Understand now that ModestImage is/was a young projects with single developer
  • Is ModestImage still being supported? Python 3.3 was the last PyPI release. https://pypi.org/project/ModestImage/

It seems functions imported from modest_image are:

  • from modest_image import imshow
  • from modest_image import ModestImage, imshow

In the following modules:

  • chx_compress_analysis.py
  • chx_generic_functions.py
  • chx_libs.py
  • Two_Time_Correlation_Function.py

It seems only that imshow is used.

  • I see no function calls that start with ModestImage in code base
  • what about in analysis pipeline? ModestImage is only imported in Two_Time_Correlation_Function; so check .ipynb for papermill.

So basically, it seems we need to understand how imshow from ModestImage improved plotting of 2D images.

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

Review the ModestImage imports and imshow usage in chx_compress_analysis.py, chx_generic_functions.py, chx_libs.py, and Two_Time_Correlation_Function.py. Then inspect the analysis pipeline notebooks and papermill usage to determine whether the dependency affects them. Done means documenting the required plotting behavior and identifying a supported replacement path.

Written by the indexing model from the issue text.

Assessment

Tech stack
jupyter-notebook, matplotlib, python
Domain
data-visualization
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.