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)
NeuralForecast is a Python library for time series forecasting with deep learning models

NeuralForecast is a Python library for time series forecasting with deep learning models. It includes benchmark datasets, data-loading utilities, evaluation functions, statistical tests, univariate m

Nixtla 1.1k Jan 03, 2023
Official PyTorch implementation of "ArtFlow: Unbiased Image Style Transfer via Reversible Neural Flows"

ArtFlow Official PyTorch implementation of the paper: ArtFlow: Unbiased Image Style Transfer via Reversible Neural Flows Jie An*, Siyu Huang*, Yibing

123 Dec 27, 2022
Unofficial implementation (replicates paper results!) of MINER: Multiscale Implicit Neural Representations in pytorch-lightning

MINER_pl Unofficial implementation of MINER: Multiscale Implicit Neural Representations in pytorch-lightning. 📖 Ref readings Laplacian pyramid explan

AI葵 51 Nov 28, 2022
The implementation of DeBERTa

DeBERTa: Decoding-enhanced BERT with Disentangled Attention This repository is the official implementation of DeBERTa: Decoding-enhanced BERT with Dis

Microsoft 1.2k Jan 06, 2023
Create animations for the optimization trajectory of neural nets

Animating the Optimization Trajectory of Neural Nets loss-landscape-anim lets you create animated optimization path in a 2D slice of the loss landscap

Logan Yang 81 Dec 25, 2022
Personal implementation of paper "Approximate Nearest Neighbor Negative Contrastive Learning for Dense Text Retrieval"

Approximate Nearest Neighbor Negative Contrastive Learning for Dense Text Retrieval This repo provides personal implementation of paper Approximate Ne

John 8 Oct 07, 2022
Categorizing comments on YouTube into different categories.

Youtube Comments Categorization This repo is for categorizing comments on a youtube video into different categories. negative (grievances, complaints,

Rhitik 5 Nov 26, 2022
A simplistic and efficient pure-python neural network library from Phys Whiz with CPU and GPU support.

A simplistic and efficient pure-python neural network library from Phys Whiz with CPU and GPU support.

Manas Sharma 19 Feb 28, 2022
Implement Decoupled Neural Interfaces using Synthetic Gradients in Pytorch

disclaimer: this code is modified from pytorch-tutorial Image classification with synthetic gradient in Pytorch I implement the Decoupled Neural Inter

Andrew 114 Dec 22, 2022
[BMVC 2021] Official PyTorch Implementation of Self-supervised learning of Image Scale and Orientation Estimation

Self-Supervised Learning of Image Scale and Orientation Estimation (BMVC 2021) This is the official implementation of the paper "Self-Supervised Learn

Jongmin Lee 17 Nov 10, 2022
A flexible tool for creating, organizing, and sharing visualizations of live, rich data. Supports Torch and Numpy.

Visdom A flexible tool for creating, organizing, and sharing visualizations of live, rich data. Supports Python. Overview Concepts Setup Usage API To

FOSSASIA 9.4k Jan 07, 2023
This Artificial Intelligence program can take a black and white/grayscale image and generate a realistic or plausible colorized version of the same picture.

Colorizer The point of this project is to write a program capable of taking a black and white / grayscale image, and generating a realistic or plausib

Maitri Shah 1 Jan 06, 2022
Music Classification: Beyond Supervised Learning, Towards Real-world Applications

Music Classification: Beyond Supervised Learning, Towards Real-world Applications

104 Dec 15, 2022
Randstad Artificial Intelligence Challenge (powered by VGEN). Soluzione proposta da Stefano Fiorucci (anakin87) - primo classificato

Randstad Artificial Intelligence Challenge (powered by VGEN) Soluzione proposta da Stefano Fiorucci (anakin87) - primo classificato Struttura director

Stefano Fiorucci 1 Nov 13, 2021
It's like Shape Editor in Maya but works with skeletons (transforms).

Skeleposer What is Skeleposer? Briefly, it's like Shape Editor in Maya, but works with transforms and joints. It can be used to make complex facial ri

Alexander Zagoruyko 1 Nov 11, 2022
Implementation of Vision Transformer, a simple way to achieve SOTA in vision classification with only a single transformer encoder, in Pytorch

Implementation of Vision Transformer, a simple way to achieve SOTA in vision classification with only a single transformer encoder, in Pytorch

Phil Wang 12.6k Jan 09, 2023
Blender scripts for computing geodesic distance

GeoDoodle Geodesic distance computation for Blender meshes Table of Contents Overivew Usage Implementation Overview This addon provides an operator fo

20 Jun 08, 2022
fastgradio is a python library to quickly build and share gradio interfaces of your trained fastai models.

fastgradio is a python library to quickly build and share gradio interfaces of your trained fastai models.

Ali Abdalla 34 Jan 05, 2023
PyTorch implementation of the R2Plus1D convolution based ResNet architecture described in the paper "A Closer Look at Spatiotemporal Convolutions for Action Recognition"

R2Plus1D-PyTorch PyTorch implementation of the R2Plus1D convolution based ResNet architecture described in the paper "A Closer Look at Spatiotemporal

Irhum Shafkat 342 Dec 16, 2022
Machine learning, in numpy

numpy-ml Ever wish you had an inefficient but somewhat legible collection of machine learning algorithms implemented exclusively in NumPy? No? Install

David Bourgin 11.6k Dec 30, 2022