Code Monkey home page Code Monkey logo

spinmob's Introduction

Overview

Build Status

Spinmob is a scientific data analysis and plotting package we wrote to escape expensive, buggy, poorly-documented programs like Origin, expensive "licensey" programs like Matlab or Labview, and weaker programs like Excel. It turns out python is just better than everything else, and it behaves the same on all computers for free. Ultimately, this, the packages it relies on, and Inkscape are all we needed to take, analyze, visualize, and publish our data.

The main features are

  • forgiving and user-friendly data class for handling ASCII data files
  • high-level automated plotting based on matplotlib
  • interactive nonlinear least-squares multi-curve fitting object
  • a simplified GUI library with high-level objects based on pyqtgraph
  • a bunch of random functions I found useful in dealing with strings and data.

See the spinmob wiki for more info.

spinmob's People

Contributors

correlator avatar gregllong avatar gschaffner avatar jaxankey avatar jayich avatar sankeylab avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

spinmob's Issues

fitter class update

merge in Jack's new fitter class into spinmob. From "02 Easy Gui Generator v2014-09-07.zip"

Welcome message setting

ability to set a settings kwarg to not display the spinmob welcome upon import. Not sure if this can happen before spinmob starts easily.

Load file output

Perhaps we should have a "silent" option on loading files to suppress warnings like:

Could not fine a line of pure data! Perhaps check the delimiter?
The default delimiter is whitespace. For csv files, set delimiter=','

This is helpful when hitting some silly problem, but it would be nice not to have it when loading files that just container header information, for example.

It would also be nice to suppress the
"loaded full_file_path"
text output.

old and new spinmob

The old spinmob (hosted on google code) is the current master. It does not include the class based fitter object. All new code is in the bleeding branch. Feel free to merge this with master, or from master we could create a new "old spinmob" branch. I think I will do that.

fitter memory leak?

For some reason subsequent f.set_data() calls results in a memory leak? Unconfirmed.

Make new plot the top window

When plotting it would be great if when making a plot the new plot is always placed ontop of any other open windows as a default.

delete _functions.py

As far as I can tell _functions.py is unused. I'm fine with deleting this, please go ahead.

suppress fitting text output

It would be nice to have an option to suppress the warning displayed from the fitter when performing a fit with the default value eydata=None.

Clean up _tweaks.py

There is a LOT of > 10 year-old code in this file. We should comb over it while writing tests and eliminate silly / useless functions.

Array handling with scripts

Current functionality:
sm.plot.xy.files(xscript='c(0)', yscript='c(1)/41.')

Test this with new databox class.
sm.plot.xy.files(xscript='c[0]', yscript='c[1]/41.')

delimiter setting

Ability to do

sm.settings['delimiter'] = ','

so that the default limiter is CSV, for example.

wiki plotting

In the "plotting" page of the wiki there are no actually plots (yet).

Clean up _functions.py

There is a LOT of > 10 year-old code in this file. We should comb over it while writing tests and eliminate silly/slow functions that don't fully exploit numpy.

set parameters in fitter

It might be nice to have a function

sm.data.fitter.set_parameters()

where the user can set the parameters for a fitter instance.

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.