Coder Social home page Coder Social logo

omnifit's People

Contributors

astrofrog avatar bsipocz avatar ricemunk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

omnifit's Issues

Ice column density calculations

One common thing that is usually done with ice fitting results is being able to calculate the column density of the ice represented by the fit.

A few different ways of doing this currently exist:

  • Integrate over a feature, multiply by an experimentally determined factor
  • Take a peak value within a certain range, multiply by an experimentally determined factor
  • Compare to unfitted spectrum with known quantity

Also stuff like CDE correction changes how these work, and has to be taken into account to get accurate results.

It would be very useful for Omnifit to be able to do this, instead of forcing the user to mess around with the exported fit results on their own.

Arithmetic operations between spectra?

Currently you can do something like spectrum1.y -= spectrum2.y to subtract one spectrum from another (assuming both have the same x), but this neither checks that the spectra are compatible, and it's also a bit clumsy.

It would be much nicer to be able to simply do spectrum1 -= spectrum2 to do the same thing, while also checking that it makes sense.

Multiple file format support for fit result exporting

Currently Omnifit can export its fit results as a pair of CSV and XML files. While this way of doing things works, it's not necessarily very user-friendly.

A few alternative formats to export stuff in would be:

Either of these would probably be superior to the home-cooked format Omnifit currently uses, and thus it would make sense to include support for them.

Astropy Affiliated Package Review

This package has been reviewed by the Astropy coordination committee for inclusion in the Astropy affiliated package ecosystem.

We have adopted a review process for affiliated package that includes assigning quantitative ‘scores’ (red/orange/green) for different categories of review. You can read up more about this process here. (This document, currently in Google Docs, will be moved to the documentation in the near future.) For each of the categories below we have listed the score and have included some comments when the score is not green.

Functionality/ScopeSpecialized%20package
No further comments
Integration with Astropy ecosystemPartial
In our previous review, we had mentioned that there are a number of places where astropy could be used but isn't - for example astropy.modeling doesn't appear to be used, and units are used only sometimes but not consistently. Once the new specutils package is ready (providing a common spectrum base class), we will need to re-assess the integration.
DocumentationPartial
The documentation is quite short at the moment and could do with a better narrative and more examples.
TestingPartial
There are a number of tests but the continuous integration (Travis) doesn't appear to be running correctly.
Development statusFunctional%20but%20low%20activity
No further comments
Python 3 compatibilityPartial
No further comments

Summary/Decision: This package meets the review criteria for affiliated packages, so we are happy to confirm that we'll be listing your package as an affiliated package. However, note that a number of areas were 'orange', so we encourage you to improve on these areas.

If you agree with the above review, please feel free to close this issue. If you have any follow-up questions or disagree with any of the comments above, leave a comment and we can discuss it here. At any point in future you can request a re-review of the package if you believe any of the scores should be updated - contact the coordination committee, and we’ll do a new review. Note that we are in the process of redesigning the http://affiliated.astropy.org page to show these scores (but not the comments). Finally, please keep the title of this issue as-is (“Astropy Affiliated Package Review”) to make it easy to search for affiliated package reviews in future.

test_fittheory has started failing

Seems like one of the unit tests has started failing at some point. The following bit specifically seems to be raising an exception:
testfitter.add_analytical('gaussian',testpars,funcname='test gaussian') testfitter.perform_fit()
Fails with "fitting failed".

My guess: something has changed with lmfit which makes it not behave with omnifit. Should look into this when have time.

Spectrum convolution drops units

Steps to reproduce:

  1. Create spectrum
  2. Convolve spectrum using convolve

Expected result:
y of convolved spectrum should be of type astropy.units.Quantity

Actual result:
y of convolved spectrum is of type numpy.ndarray

Windows build environment install fails at py3.9

When tox attempts to run python -m pip install setuptools setuptools_scm wheel extension-helpers oldest-supported-numpy cython==0.29.14 it creates a whole slew of errors which seems to revolve around ImportError: DLL load failed while importing _ctypes: The specified module could not be found

Kramers-Kronig relation support

Currently the CDEspectrum class makes use of complex refractive index values which are commonly calculated using the Kramers-Kronig (KK) relation equation. It is not a terribly complex calculation, yet it's not included as part of Omnifit.

An obvious improvement to Omnifit is to make it be included as part of the library, so CDEspectrum can be initialised without outside help.

CI is not running

While I see a .travis.yml file, it seems that it has never run for this repository. While I acknowledge that you probably run the tests before releases, having a CI system that is integrated with GitHub can be extremely useful.

Infrastructure updates notice from Astropy Project

Hello from Astropy Project!

The following updates to your package might be necessary to ensure compatibility with the latest stable version of Astropy:

  • MPLBACKEND is now set to Agg in ci-helpers, packages expecting interactive plotting should override it in .travis.yml
  • Astropy 3.1 is not compatible with Numpy <1.13 versions. If you want to keep testing these older Numpy versions, please use ASTROPY_VERSION=3.0 or ASTROPY_VERSION=LTS in your Travis CI matrix.
  • Add sphinx-astropy as a package dependency if you are using astropy-helpers 3.1 or later. Otherwise, your documentation build (e.g., on ReadTheDocs) might fail.
  • If you are using six that is bundled with Astropy, please consider using the standalone six package instead.

If these are no longer applicable to you, please close the issue.

This is an automated issue for packages that opted in for automated astropy-helpers update. If this is opened in error, please let @pllim know.

xref astropy/astropy-tools#108

Fitting fails on 0.2.1rc1

Running the example full fit (see example in documentation) seemingly does the fit successfully, but never modifies fit parameters from their original guesses. Figure of expected fit result as shown in example is not reproduced.

This seems to happen on fresh installs of Omnifit using the dependencies installed through PyPi, so it may be related to some change which has happened in newer version of the dependencies; probably in ones involving minimization.

Use astropy.modeling for fitting instead of lmfit?

As recommended by the astropy folks and since it would be nice to reduce the number of dependencies, it might be a good idea to use astropy.modeling instead of lmfit as the fitting engine for omnifit.

To make me not forget to check whether or not this suits what omnifit needs to do, I'm creating this issue here to keep reminding me.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.