Skip to content

Spectral tracing discussion #83

Closed
Closed
@ojustino

Description

@ojustino

This issue is meant as a forum to discuss the new tracing classes in specreduce/tracing.py since the PR that introduced them has already been merged.

I'll start by saying all of Trace, FlatTrace, and ArrayTrace work smoothly for me.

Here are some avenues of further discussion and possible changes to consider:

  • We don't currently have a way to calculate a trace based on an image. I support creating one, but is it a priority? If so, I think @jradavenport had said that we were OK to port code from the kosmos trace() function into specreduce.
  • As @ibusko mentioned here, it would be nice to validate that the trace position is greater than 1 and less than the cross-dispersion axis' length as the Trace object is being created instead of at the beginning of the extraction process.
  • In response to @tepickering's comment here, I support including dispersion/cross-dispersion axis information as attributes of Trace objects instead of as arguments of an extraction class' __call__() method. If we want to allow for more interchangeability, perhaps they could be set as arguments of Trace objects. If not, we could hard-code our assumption that axis 1 is dispersion and axis 0 is cross-dispersion into Trace. Either way, extraction classes would get that information for free since they must take a Trace object as an argument.
  • Should all Trace objects contain an image attribute? ArrayTrace and FlatTrace don't need an image, but future Trace implementations may. Including the image in the Trace object would also decrease the number of arguments needed for extraction objects. However, @ibusko brought up a point that you may not always want to perform an extraction on the exact image from which you created a trace.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions