Skip to main content

Compressed Sensing library for 1D Spectroscopic Profiling Data

Project description

cs1

Compressed Sensing library for 1D (one-dimensional) Spectroscopic Profiling Data

package module sub-module description
cs1[3]
cs1.cs basic functions for CS sensing, recovery, hyper-parameter grid-search, etc.
cs1.basis cs1.basis.common commonly used non-adaptive CS transform bases[1]
cs1.basis.adaptive adaptive CS transform bases, e.g., LDA (linear discriminant analysis)-based, EBP (eigenvector-based projection)[2], VAE (variational auto-encoder)
cs1.metrics CS-related metrics, e.g., mutual coherence, sparsity, MSE, KLD
cs1.security cs1.security.tvsm time-variant sensing matrix mechanism[4]
cs1.domain cs1.domain.audio contains functions for audio and other one-dimensional signal processing. e.g., wave file I/O, lossy compression, ECG simulator
cs1.domain.image contains functions for image processing. e.g., image CS, lossy compression
cs1.gui provides a web-based playground for researchers. users can try different CS bases and sampling ratios

Publications:
[1] Adaptive compressed sensing of Raman spectroscopic profiling data for discriminative tasks [J]. Talanta, 2020, doi: 10.1016/j.talanta.2019.120681
[2] Task-adaptive eigenvector-based projection (EBP) transform for compressed sensing: A case study of spectroscopic profiling sensor [J]. Analytical Science Advances. Chemistry Europe, 2021, doi: 10.1002/ansa.202100018
[3] Compressed Sensing library for spectroscopic profiling data [J]. Software Impacts, 2023, doi: 10.1016/j.simpa.2023.100492
[4] Secured telemetry based on time-variant sensing matrix – An empirical study of spectroscopic profiling, Smart Agricultural Technology, Volume 5, 2023, doi: 10.1016/j.atech.2023.100268

Installation

pip install cs1

A simple startup

import cs1

# Generate common non-adaptive bases and save to a local pickle file.
# The generation process can be very slow, so save it for future use.
cs1.basis.common.Generate_PSIs(n, savepath = 'PSIs_' + str(n) + '.pkl') # n is the data/signal dimensionality

# load back bases
file = open('PSIs_' + str(n) + '.pkl','rb')
PSIs = pickle.load(file)
file.close()

# sparsity analysis
cs1.metrics.analyze_sparsity(x, PSIs)
# compare different bases and sampling ratio on a single sample
mses, rmses = cs1.cs.GridSearch_Sensing_n_Recovery(x, PSIs, solver = 'LASSO') # returns MSEs and relative MSEs

low-level cs functions

from cs1.basis.common import *

dftmtx()
dctmtx()
hwtmtx()

from cs1.cs import *

sensing()
recovery()

from cs1.metrics import *

mutual_coherence()
...

singal processing functions for audio / image domains

from cs1.domain.audio import *

simulate_ECG()
dct_lossy_signal_compression()
dft_lossy_signal_compression()

from cs1.domain.image import *

img_dct()
img_dft()
dct_lossy_image_compression()
dft_lossy_image_compression()

adaptive cs bases

from cs1.basis.adaptive import *

PSI, _ = EBP(X) # X is a m-by-n training dataset. PSI is the EBP basis
PSI, _, _ = LDA(X, y, display = True) # X and y are training dataset. PSI is the LDA basis.

run as a local web server

python -m cs1.gui.run

You can then access the web GUI at the 5006 port:

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

cs1-0.2.5.tar.gz (2.9 MB view details)

Uploaded Source

Built Distribution

cs1-0.2.5-py3-none-any.whl (3.0 MB view details)

Uploaded Python 3

File details

Details for the file cs1-0.2.5.tar.gz.

File metadata

  • Download URL: cs1-0.2.5.tar.gz
  • Upload date:
  • Size: 2.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for cs1-0.2.5.tar.gz
Algorithm Hash digest
SHA256 75216d2a6ffcdaee995b784ca280d185ca98a4f6f3c826e514f6b550752bf296
MD5 59a60e7397cbdebd16262eeb70db9e84
BLAKE2b-256 32f4fa0b7673a78f71cc20c746f9f5ddfc99f03b841502221da1732b3a237830

See more details on using hashes here.

File details

Details for the file cs1-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: cs1-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for cs1-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 c05f3ca9bc1ce3c54705ddc5910fa149082f9b58bfe2c7a232403899c458086e
MD5 e8d7358b22ac2f873128ea4cf7ca3b48
BLAKE2b-256 5a24bef36fe4cb268c44b30ae3aadf354d71d6253c90536c684b456e8207c288

See more details on using hashes here.

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