Python Library for Signal/Image Data Analysis with Transport Methods

Overview

PyTransKit

Python Transport Based Signal Processing Toolkit

Website and documentation: https://pytranskit.readthedocs.io/

Installation

The library could be installed through pip

pip install pytranskit

Alternately, you could clone/download the repository and add the pytranskit directory to your Python path

import sys
sys.path.append('path/to/pytranskit')

from pytranskit.optrans.continuous.cdt import CDT

Low Level Functions

CDT, SCDT

R-CDT

CLOT

  • Continuous Linear Optimal Transport Transform (CLOT) tutorial [notebook] [nbviewer]

Classification Examples

  • CDT Nearest Subspace (CDT-NS) classifier for 1D data [notebook] [nbviewer]
  • SCDT Nearest Subspace (SCDT-NS) classifier for 1D data [8] [notebook] [nbviewer]
  • Radon-CDT Nearest Subspace (RCDT-NS) classifier for 2D data [4] [notebook] [nbviewer]
  • 3D Radon-CDT Nearest Subspace (3D-RCDT-NS) classifier for 3D data [notebook] [nbviewer]

Estimation Examples

Transport-based Morphometry

  • Transport-based Morphometry to detect and visualize cell phenotype differences [7] [notebook] [nbviewer]

References

  1. The cumulative distribution transform and linear pattern classification, Applied and Computational Harmonic Analysis, November 2018
  2. The Radon Cumulative Distribution Transform and Its Application to Image Classification, IEEE Transactions on Image Processing, December 2015
  3. A continuous linear optimal transport approach for pattern analysis in image datasets, Pattern Recognition, March 2016
  4. Radon cumulative distribution transform subspace modeling for image classification, Journal of Mathematical Imaging and Vision, 2021
  5. Parametric Signal Estimation Using the Cumulative Distribution Transform, IEEE Transactions on Signal Processing, May 2020
  6. The Signed Cumulative Distribution Transform for 1-D Signal Analysis and Classification, ArXiv 2021
  7. Detecting and visualizing cell phenotype differences from microscopy images using transport-based morphometry, PNAS 2014
  8. Nearest Subspace Search in the Signed Cumulative Distribution Transform Space for 1D Signal Classification, ArXiv 2021

Resources

External website http://imagedatascience.com/transport/

You might also like...
 Non-Homogeneous Poisson Process Intensity Modeling and Estimation using Measure Transport
Non-Homogeneous Poisson Process Intensity Modeling and Estimation using Measure Transport

Non-Homogeneous Poisson Process Intensity Modeling and Estimation using Measure Transport This GitHub page provides code for reproducing the results i

Official implementation of NLOS-OT: Passive Non-Line-of-Sight Imaging Using Optimal Transport (IEEE TIP, accepted)
Official implementation of NLOS-OT: Passive Non-Line-of-Sight Imaging Using Optimal Transport (IEEE TIP, accepted)

NLOS-OT Official implementation of NLOS-OT: Passive Non-Line-of-Sight Imaging Using Optimal Transport (IEEE TIP, accepted) Description In this reposit

Universal Probability Distributions with Optimal Transport and Convex Optimization

Sylvester normalizing flows for variational inference Pytorch implementation of Sylvester normalizing flows, based on our paper: Sylvester normalizing

A general and strong 3D object detection codebase that supports more methods, datasets and tools (debugging, recording and analysis).

ALLINONE-Det ALLINONE-Det is a general and strong 3D object detection codebase built on OpenPCDet, which supports more methods, datasets and tools (de

Deep learning (neural network) based remote photoplethysmography: how to extract pulse signal from video using deep learning tools

Deep-rPPG: Camera-based pulse estimation using deep learning tools Deep learning (neural network) based remote photoplethysmography: how to extract pu

The source code of the paper "Understanding Graph Neural Networks from Graph Signal Denoising Perspectives"

GSDN-F and GSDN-EF This repository provides a reference implementation of GSDN-F and GSDN-EF as described in the paper "Understanding Graph Neural Net

Code release for the ICML 2021 paper "PixelTransformer: Sample Conditioned Signal Generation".

PixelTransformer Code release for the ICML 2021 paper "PixelTransformer: Sample Conditioned Signal Generation". Project Page Installation Please insta

Use MATLAB to simulate the signal and extract features. Use PyTorch to build and train deep network to do spectrum sensing.

Deep-Learning-based-Spectrum-Sensing Use MATLAB to simulate the signal and extract features. Use PyTorch to build and train deep network to do spectru

A Simple LSTM-Based Solution for "Heartbeat Signal Classification and Prediction" in Tianchi

LSTM-Time-Series-Prediction A Simple LSTM-Based Solution for "Heartbeat Signal Classification and Prediction" in Tianchi Contest. The Link of the Cont

Comments
  • Problem installing `bluepy` from the repo.

    Problem installing `bluepy` from the repo.

    Problem: for my machine (machine spec mentioned below), installing requirements on this repo, as given in requirements.txt throws the following error.

    error: legacy-install-failure
    
    × Encountered error while trying to install package.
    ╰─> bluepy
    
    note: This is an issue with the package mentioned above, not pip.
    hint: See above for output from the failure.
    

    This error is in context with mention of bluepy in requirements.txt.

    Machine Specs:

    1. miniconda venv for python 3.9.12 running on MacOS Monterey; CPU: Apple M2.
    2. miniconda venv for python 3.10.4 running on Ubuntu Jammy Jellyfish; CPU: AMD Ryzen.

    Interesting Note: I don't find bluepy being directly imported in the code on the master or the CDT-app-gui branch.

    Proposed Solution:

    1. Remove bluepy from requirements.txt

    Note: This is not a problem with installing PyTranskit itself. It installs pretty gracefully through pip.

    opened by Ujjawal-K-Panchal 1
  • Changed filter to filter_name

    Changed filter to filter_name

    In the radoncdt.py file passing the option filter was not working since scikit-image expects the key filter_name.

    Tutorial 2 was failing for this reason.

    opened by giovastabile 0
  • Create a

    Create a "NS" classifier

    Create a "NS" classifier, as an standalone implementation of the nearest subspace classification method. The "RCDT_NS" and "CDT-NS" classifier can be a subclass of this classifier.

    opened by xuwangyin 0
  • Issue when setting forward('rm_edge = True')

    Issue when setting forward('rm_edge = True')

    This possibly just needs an edit to reduce the size of the reference signal array alongside the reduction in size of the signal with removed edges.

    File "\RCDT_Basic_Tests.py", line 115, in <module>
        Irev = rcdt.inverse(Ihat, temp, nlims)
    
      File "\pytranskit\optrans\continuous\radoncdt.py", line 123, in inverse
        return self.apply_inverse_map(transport_map, sig0, x1_range)
    
      File "\pytranskit\optrans\continuous\radoncdt.py", line 235, in apply_inverse_map
        sig1_recon = match_shape2d(sig0, sig1_recon)
    
      File "\pytranskit\optrans\utils\data_utils.py", line 81, in match_shape2d
        raise ValueError("A is bigger than B: "
    
    ValueError: A is bigger than B: (250, 250) vs (248, 248)
    
    opened by TobiasLong 0
Releases(0.1)
Owner
null
aka "Bayesian Methods for Hackers": An introduction to Bayesian methods + probabilistic programming with a computation/understanding-first, mathematics-second point of view. All in pure Python ;)

Bayesian Methods for Hackers Using Python and PyMC The Bayesian method is the natural approach to inference, yet it is hidden from readers behind chap

Cameron Davidson-Pilon 25.1k Jan 2, 2023
Implementation of temporal pooling methods studied in [ICIP'20] A Comparative Evaluation Of Temporal Pooling Methods For Blind Video Quality Assessment

Implementation of temporal pooling methods studied in [ICIP'20] A Comparative Evaluation Of Temporal Pooling Methods For Blind Video Quality Assessment

Zhengzhong Tu 5 Sep 16, 2022
Unbalanced Feature Transport for Exemplar-based Image Translation (CVPR 2021)

UNITE and UNITE+ Unbalanced Feature Transport for Exemplar-based Image Translation (CVPR 2021) Unbalanced Intrinsic Feature Transport for Exemplar-bas

Fangneng Zhan 183 Nov 9, 2022
git《Pseudo-ISP: Learning Pseudo In-camera Signal Processing Pipeline from A Color Image Denoiser》(2021) GitHub: [fig5]

Pseudo-ISP: Learning Pseudo In-camera Signal Processing Pipeline from A Color Image Denoiser Abstract The success of deep denoisers on real-world colo

Yue Cao 51 Nov 22, 2022
[CVPR2021] Invertible Image Signal Processing

Invertible Image Signal Processing This repository includes official codes for "Invertible Image Signal Processing (CVPR2021)". Figure: Our framework

Yazhou XING 281 Dec 31, 2022
Data manipulation and transformation for audio signal processing, powered by PyTorch

torchaudio: an audio library for PyTorch The aim of torchaudio is to apply PyTorch to the audio domain. By supporting PyTorch, torchaudio follows the

null 1.9k Dec 28, 2022
POT : Python Optimal Transport

POT: Python Optimal Transport This open source Python library provide several solvers for optimization problems related to Optimal Transport for signa

Python Optimal Transport 1.7k Dec 31, 2022
Official implementation of our CVPR2021 paper "OTA: Optimal Transport Assignment for Object Detection" in Pytorch.

OTA: Optimal Transport Assignment for Object Detection This project provides an implementation for our CVPR2021 paper "OTA: Optimal Transport Assignme

null 217 Jan 3, 2023
An implementation of "Optimal Textures: Fast and Robust Texture Synthesis and Style Transfer through Optimal Transport"

Optex An implementation of Optimal Textures: Fast and Robust Texture Synthesis and Style Transfer through Optimal Transport for TU Delft CS4240. You c

Hans Brouwer 33 Jan 5, 2023
Code for paper "Vocabulary Learning via Optimal Transport for Neural Machine Translation"

**Codebase and data are uploaded in progress. ** VOLT(-py) is a vocabulary learning codebase that allows researchers and developers to automaticaly ge

null 416 Jan 9, 2023