Skip to main content

Reconstruction of sample FTIR data

Project description

License

copyright Manuel Marschall (PTB) 2020

This software is licensed under the BSD-like license:

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

DISCLAIMER

This software was developed at Physikalisch-Technische Bundesanstalt (PTB). The software is made available "as is" free of cost. PTB assumes no responsibility whatsoever for its use by other parties, and makes no guarantees, expressed or implied, about its quality, reliability, safety, suitability or any other characteristic. In no event will PTB be liable for any direct, indirect or consequential damage arising in connection

Using this software in publications requires citing the following paper

Compressed FTIR spectroscopy using low-rank matrix reconstruction DOI: https://doi.org/10.1364/OE.404959

References

This repository contains the python code that is used in the paper

  • [1] Compressed FTIR spectroscopy using low-rank matrix reconstruction, Optics Express Vol. 28, Issue 26, pp. 38762-38772 (2020)

Motivation

Reducing measurement times and datasets by implementing reconstruction methods is a usual mathematical tool. In this project we develop a regularized low-rank matrix recovery algorithm to account for smoothness, sparsity and low-rank properties of the given data.

Installation

To run the library one needs a $\geq$ python 3.6 installation with the python packages

  • numpy
  • scipy
  • matplotlib

Installation using pip

Install via the python package manager pip using

  pip install compressedftir

Basic Python installation

Guides to install python under Linux, Windows and Mac can be found here: https://realpython.com/installing-python/

Quick guide for Python under Windows:

  1. Download Python https://www.python.org/downloads/release/python-382/ (bottom of the page: "Windows x86-64 executable installer")

  2. Install Python using the installer and check "Add Python x.x to Path"

  3. Run a terminal, e.g. CMD

  4. Check the installation by typing

    python
    

    a command prompt should appear such as

    C:\Users\Marschall\Projects\CompressedFTIR>python
    Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 22:45:29) [MSC v.1916 32 bit (Intel)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    
  5. Close the Python prompt using

    exit()
    
  6. Install dependencies

    python -m pip install numpy scipy matplotlib
    

Implementation details

Some features and important files are mentioned in the following

  • paper_leishmania/run_recon.py is a run script and contains a dummy 2D example using an l-curve criterion for choosing the regularization parameter in a smoothed matrix reconstruction approach. You should get started here. Other scripts in this directory require additional data that are not available online.
  • compressedftir.datareader implements a variety of data formats and can be adapted to your file format
  • compressedftir.reconstruction.lowrank implements the code that is described in the paper [1]

Contact

Please contact manuel.marschall@ptb.de.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

compressedftir-0.0.3.tar.gz (82.3 kB view hashes)

Uploaded Source

Built Distribution

compressedftir-0.0.3-py3-none-any.whl (16.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page