Compressed Sensing library for 1D Spectroscopic Profiling Data
Project description
cs1
Compressed Sensing library for 1D Spectroscopic Profiling Data
module | sub-module | description |
cs1.basis | cs1.basis.common | commonly used non-adaptive CS transform bases |
cs1.basis.adaptive | adaptive CS transform bases, e.g., LDA (linear discriminant analysis)-based, EBP (eigenvector-based projection) | |
cs1.cs | basic functions for CS sensing, recovery, hyper-parameter grid-search, etc. | |
cs1.metrics | CS-related metrics, e.g., mutual coherence, sparsity, MSE, KLD | |
cs1.security | cs1.security.tvsm | time-variant sensing matrix mechanism |
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 |
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
rmses = cs1.cs.GridSearch_Sensing_n_Recovery(x, PSIs, solver = 'LASSO') # returns 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.
Project details
Release history Release notifications | RSS feed
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.1.2.tar.gz
(33.4 kB
view details)
Built Distribution
cs1-0.1.2-py3-none-any.whl
(35.4 kB
view details)
File details
Details for the file cs1-0.1.2.tar.gz
.
File metadata
- Download URL: cs1-0.1.2.tar.gz
- Upload date:
- Size: 33.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea07f911eb974031484e68ab453fc183ae7ae9f6271b336a13447057a491ea59 |
|
MD5 | aa8c58b8b8b3c10bb919b5d6bd321193 |
|
BLAKE2b-256 | be3fa349508c10bec47e9ebcdd4301cbba54a809694955a0df62b4bb5b10c8c1 |
File details
Details for the file cs1-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: cs1-0.1.2-py3-none-any.whl
- Upload date:
- Size: 35.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9281058c2daee1567eb29bba46e13470f7b1ebe8f2bf2d43f155017dee884837 |
|
MD5 | 0f841ff13b7696c9d3c425c3804f470d |
|
BLAKE2b-256 | 9787c2cb63e16786b57110842a4032beea0db146ee409564e5bfc6f73b688598 |