Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

First updates to IFU cube continuum notebook - need help to fix bugs #260

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

camipacifici
Copy link
Contributor

Started fixing this notebook to work with Jdaviz 4.0. I am finding a few bugs:

  • spatial subsets defined from the API do not show in the viewer
  • the wavelength axis gets loaded in meters, while it used to be loaded in angstrom (added a cell to do the conversion)
  • model fitting crashes when defining a linear model for the full cube saying that '1 / pix2' and '' (dimensionless) are not convertible

I stopped there for now.

This notebook checklist has been made available to us by the the Notebooks For All team.
Its purpose is to serve as a guide for both the notebook author and the technical reviewer highlighting critical aspects to consider when striving to develop an accessible and effective notebook.

The First Cell

  • The title of the notebook in a first-level heading (eg. <h1> or # in markdown).
  • A brief description of the notebook.
  • A table of contents in an ordered list (1., 2., etc. in Markdown).
  • The author(s) and affiliation(s) (if relevant).
  • The date first published.
  • The date last edited (if relevant).
  • A link to the notebook's source(s) (if relevant).

The Rest of the Cells

  • There is only one H1 (# in Markdown) used in the notebook.
  • The notebook uses other heading tags in order (meaning it does not skip numbers).

Text

  • All link text is descriptive. It tells users where they will be taken if they open the link.
  • All acronyms are defined at least the first time they are used.
  • Field-specific/specialized terms are used when needed, but not excessively.

Code

  • Code sections are introduced and explained before they appear in the notebook. This can be fulfilled with a heading in a prior Markdown cell, a sentence preceding it, or a code comment in the code section.
  • Code has explanatory comments (if relevant). This is most important for long sections of code.
  • If the author has control over the syntax highlighting theme in the notebook, that theme has enough color contrast to be legible.
  • Code and code explanations focus on one task at a time. Unless comparison is the point of the notebook, only one method for completing the task is described at a time.

Images

  • All images (jpg, png, svgs) have an image description. This could be

    • Alt text (an alt property)
    • Empty alt text for decorative images/images meant to be skipped (an alt attribute with no value)
    • Captions
    • If no other options will work, the image is decribed in surrounding paragraphs.
  • Any text present in images exists in a text form outside of the image (this can be alt text, captions, or surrounding text.)

Visualizations

  • All visualizations have an image description. Review the previous section, Images, for more information on how to add it.

  • Visualization descriptions include

    • The type of visualization (like bar chart, scatter plot, etc.)
    • Title
    • Axis labels and range
    • Key or legend
    • An explanation of the visualization's significance to the notebook (like the trend, an outlier in the data, what the author learned from it, etc.)
  • All visualizations and their parts have enough color contrast (color contrast checker) to be legible. Remember that transparent colors have lower contrast than their opaque versions.

  • All visualizations convey information with more visual cues than color coding. Use text labels, patterns, or icons alongside color to achieve this.

  • All visualizations have an additional way for notebook readers to access the information. Linking to the original data, including a table of the data in the same notebook, or sonifying the plot are all options.

Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@camipacifici
Copy link
Contributor Author

Update, with current main, the cube model fitting fails with UnitConversionError: 'ct' and 'ct [/](http://localhost:8889/) pix2' are not convertible.

The wavelength axis now gets loaded fine in Angstrom.

@gibsongreen
Copy link
Collaborator

Update, with current main, the cube model fitting fails with UnitConversionError: 'ct' and 'ct [/](http://localhost:8889/) pix2' are not convertible.

The wavelength axis now gets loaded fine in Angstrom.

With the following draft PR, the specutils spec.with_flux_unit call should now have access to the pix2 unit equivalencies to make this conversion possible.
spacetelescope/jdaviz#3343

On a separate note, there is also a bug resolved from this draft PR that occurs when toggling 'Cube Fit' in Model Fitting that results in the following error:
TypeError: unsupported operand type(s) for *: 'CompositeUnit' and 'NoneType'

@camipacifici
Copy link
Contributor Author

This should pass CI as soon as spacetelescope/jdaviz#3343 gets merged.

@bhilbert4 this notebook uses files created a long time ago and requires a few hacks to transpose things and change units. Since it will need new data, I am not going deeper into the fixing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants