Giter Club home page Giter Club logo

tfan-parsers's People

Contributors

jrsmith3 avatar yingyi avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

yingyi lulzzz imclab

tfan-parsers's Issues

add background subtracting

Before performing Gaussian fitting on a spectrum or a subset of a spectrum, it may be appropriate to subtract the contribution from the background of secondary electrons. Adding such a method will enable better Gaussian fitting of features in a XPS spectrum.

add integrate method

This method would calculate the area of under the spectrum for a certain energy interval. This would be useful for quantitative analysis, e.g. determining elemental composition.

The StaibDat object should be able to plot itself

As it stands right now, the user has to go through some amount of trouble to plot data on the same axes contained in multiple data files via the StaibDat class. The user should be able to pass some set of sensible parameters (used by the matplotlib module) and the StaibDat object should be able to return some kind of object (whatever the curve object is) that can be plotted easily.

In other words, the user should just be able to dump a bunch of StaibDat objects representing several different data files into a plot command.

add Gaussian fitting

Would like to add Gaussian fitting to be performed on the data. This function will take various inputs from the user (#peaks to fit, upper and lower bounds of energy range to be analyzed), perform the appropriate Gaussian fitting, and yield the mean(s), deviation(s), the fitting error.

Add method to numerically differentiate AES data

People seem to display AES data as the derivative plot of the spectrum. There should be some method to differentiate the data. There should be a sensible default option, but the user should be able to use different numerical differentiation methods.

This method will probably depend on the scipy package.

Add tfan-parsers to cheeseshop

The user shouldn't have to download anything to install this package. Instead they should be able to just easy_install it from the cheeseshop.

Add access to Basis, counts, etc. as numpy arrays

Right now, in order to access any of the data of the StaibDat class, one has to access a standard python array buried in the dictionary structure. Furthermore, the Basis data in the data file is the kinetic energy in mV as measured by the analyzer despite the technique used. For example, some postprocessing needs to be done to the XPS Basis data in order to convert it to binding energy. This entire approach is klugy and invites errors.

The StaibDat class should have the following data as numpy arrays:

  • Kinetic energy
  • Binding energy (for XPS data only)
  • Channel 1 counts
  • Channel 2 counts

This data will be accessed very simply, e.g.:

SD = StaibDat("somedatafile.dat")
SD["KE"]

The units of the data will be mentioned in the documentation, but will not be included in the data itself.

In this way, the data which is directly imported from the file will not be changed and the user will mostly interact with these new numpy arrays. On the other hand, the original data will still be there if the user needs to interact with it. These new numpy arrays will be calculated and created when a StaibDat object is instantiated.

Add example code

There should be examples which demonstrate how to import and plot data in one of the data files.

Error dealing with negative data values

The parser fails when confronted with data values which are negative. Specifically, I had problems with an old data file (20100203-1606_xps_jrs0010_jrs.dat) that had negative count values for Channel_2. Granted, negative count values make no sense and we don't have a second channel on our instrument, but I do not want to modify data files that have already been recorded. It is better to change the parser.

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.