Metadata-Version: 1.1
Name: jcamp
Version: 1.2.1
Summary: JCAMP-DX file reader
Home-page: https://github.com/nzhagen/jcamp
Author: Nathan Hagen
Author-email: nhagen@optics.arizona.edu
License: UNKNOWN
Download-URL: https://github.com/nzhagen/jcamp
Description: jcamp
        =====
        
        A set of Python utilities for reading JCAMP-DX files.
        
        The ``JCAMP_reader()`` function takes a filename as input, and returns a dictionary containing the data found in the file. Specifically, the keys contained in the dictionary are: (1) the field names found in the file's header, with values being int- or float-type if the corresponding field is a numerical type, or a string-type otherwise. (2) two arrays ``x`` and ``y``, giving the scaled values of the data points (scaled according to the ``xfactor`` and ``yfactor`` fields in the header, if they exist. The units of ``x`` and ``y`` are whatever are indicated in the header fields ``xunits`` and ``yunits``, if these exist.
        
        The ``JCAMP_calc_xsec()`` function is intended to takes as input the result of the ``JCAMP_reader()`` function and to convert the ``x`` data to wavelength in microns, and the ``y`` data to cross-section in units of m^2 for gas concentration of 1ppm at standard atmospheric pressure and temperature, across a path length of 1 meter. The ``JCAMP_calc_xsec()`` function takes as input the data dictionary ``jcamp_dict``, and manipulates that dictionary directly without having a separate return value. Changes to the dictionary may including adding the fields::
        
            wavelengths: the array of wavelength values (in microns) for each data point
            wavenumbers: the array of wavenumber values (in cm^-1) for each data point
            xsec: the array of cross-section values (in units of m^2 at 1ppm.m)
        
        and modifying the fields::
        
            xunits: micron
            yunits: m^2 at 1ppm.m
        
        The optional arguments ``wavemin``, ``wavemax`` are used if the user wishes to truncate the data to only a desired spectral range. For example, setting ``wavemin=8.0`` and ``wavemax=12.0`` means that the returned data arrays will only contain data corresponding to those wavlengths. If the ``skip_nonquant`` optional input argument is used, then any input spectrum that does not have the complete ``path_length`` and ``partial_pressure`` fields in its dictionary will be passed without modification. (That is, no conversion to quantitative cross-section will be attempted.) If this option is set to True, then if the code finds missing data, it will attempt to generate a quantitative cross-section by guessing the missing values. Based upon NIST's infrared database, typical values for guessing here are ``partial_pressure = 150.0 mmHg`` and ``path length = 0.1 m``.
        
        You can view a notebook demo in the doc folder to see how you can produce a series of plots showing spectra.
        
        jcamp files
        -----------
        
        The repository comes with four folders containing JCAMP-format files: ``infrared_spectra/``, ``mass_spectra/``, ``raman_spectra/``, and ``uvvis_spectra``. These were downloaded from freely-available internet databases, and can be used as example format files.
        
Keywords: jcamp,jcamp-dx,spectra
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.4
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering
