lumispy icon indicating copy to clipboard operation
lumispy copied to clipboard

Create a `remove_background_signal` function

Open jordiferrero opened this issue 2 years ago • 1 comments

Describe the functionality you would like to see.

A method called remove_background_signal where a Signal1D object is subtracted from another Signal1D object. If the axes don't match (in size, offset and scale for UniformDataAxis), the background signal should be rebinned/interpolated to the main signal axis.

Describe the context

When trying to fix some warning bugs, discussion made us realise of the need to rewrite the depreciated remove_background_from_file for a more HyperSpy like method, as discussed here #114 .

Additional information

Ideally it should also support non-uniform data axes with interpolation. Maybe add support a for fitting a ScalableFixedPattern as @ericpre proposed.

Things to do

  • [ ] Decide on where to add this method: Should it be done here in LumiSpy or in HyperSpy Signal1D class?
  • [ ] Decide on the approach to take: Should we use rebinning/interpolation or ScalableFixedPattern?
  • [ ] Write the method for UniformDataAxis
  • [ ] Expand the method to also work for non-uniform axes.

jordiferrero avatar Apr 29 '22 16:04 jordiferrero