DOI-USGS / ISIS3

Integrated Software for Imagers and Spectrometers v3. ISIS3 is a digital image processing software package to manipulate imagery collected by current and past NASA and International planetary missions.
https://isis.astrogeology.usgs.gov
Other
200 stars 168 forks source link

Add 2-hz noise filtering to ISIS cisscal #3493

Closed jessemapel closed 11 months ago

jessemapel commented 5 years ago

Description

This issue is a continuation of #2677. Back since cisscal was ported to ISIS3, 2-hz noise filtering was not included even though CICLOPS's version has it.

We should add this as a calibration step to better match the calibration from the instrument team. We should match the CISSCAL v 4.0 algorithm, even if #3491 is not completed yet.

Example

The ISIS cisscal output should match the CICLOPS CISSCAL output with 2-hz noise filtering enabled and anti-bloom correction disabled. If #3491 is not complete, these should still match for non-TABLE images.

jessemapel commented 5 years ago

This algorithm is well documented but involves several non-trivial steps. Implementing this will require familiarity with IDL and how its built in methods work (mostly how IDL's built in interpolation and filtering works).

There are three steps in the process:

  1. Determine the line-by-line variation
  2. Filter and repeatedly smooth the variation to extract a signal
  3. Generate a 2d image from the signal and subtract it from the original image

The first step also has two options. For images with sufficient dark background, you can use the line-by-line background average. For other images, you can use the overclock pixels. The overclock pixels is sufficiently simpler because the line-by-line-average requires thresholding and filtering out stars prior to computing the averages. I would recommend starting with just the overclocked pixels approach.

The filtering step leverages the built in IDL Savitzky-Golay smoothing filter. I doubt ISIS has code to do this already; most of its filtering is for image, not signals. It's not a terribly complex filter but emulating how IDL does this or finding a library that does will be timeconsuming. The filtering step also has a check for discontinuities in the signal which adds additional computations.

Generating and subtracting the 2d image is straight-forward.

Given the complexity of this process, this could take significant work. I'd estimate a full team for at least a week. Each step can be worked on independently and verified.

jessemapel commented 5 years ago

This will also require a documentation update, because the current documentation says this step is explicitly excluded.

ascbot commented 4 years ago

I am a bot that cleans up old issues that do not have activity.

This issue has not received feedback in the last six months. I am going to add the inactive label to this issue. If this is still a pertinent issue, please add a comment or add an emoji to an existing comment.

I will post again in five months with another reminder and will close this issue on it's birthday unless it has some activity.

ascbot commented 4 years ago

I am a bot that cleans up old issues that do not have activity.

This issue has not received feedback in the last eleven months! If this is still a pertinent issue, please add a comment or add an emoji to an existing comment.

In one month I will close this issue on it's birthday unless it has some activity.

github-actions[bot] commented 3 years ago

Thank you for your contribution!

Unfortunately, this issue hasn't received much attention lately, so it is labeled as 'stale.'

If no additional action is taken, this issue will be automatically closed in 180 days.