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)
This repository contains an implementation of ConvMixer for the ICLR 2022 submission "Patches Are All You Need?".

Patches Are All You Need? 🤷 This repository contains an implementation of ConvMixer for the ICLR 2022 submission "Patches Are All You Need?". Code ov

ICLR 2022 Author 934 Dec 30, 2022
Transformers based fully on MLPs

Awesome MLP-based Transformers papers An up-to-date list of Transformers based fully on MLPs without attention! Why this repo? After transformers and

Fawaz Sammani 35 Dec 30, 2022
SingleVC performs any-to-one VC, which is an important component of MediumVC project.

SingleVC performs any-to-one VC, which is an important component of MediumVC project. Here is the official implementation of the paper, MediumVC.

谷下雨 26 Dec 28, 2022
[CVPR 2022] Official Pytorch code for OW-DETR: Open-world Detection Transformer

OW-DETR: Open-world Detection Transformer (CVPR 2022) [Paper] Akshita Gupta*, Sanath Narayan*, K J Joseph, Salman Khan, Fahad Shahbaz Khan, Mubarak Sh

Akshita Gupta 127 Dec 27, 2022
torchsummaryDynamic: support real FLOPs calculation of dynamic network or user-custom PyTorch ops

torchsummaryDynamic Improved tool of torchsummaryX. torchsummaryDynamic support real FLOPs calculation of dynamic network or user-custom PyTorch ops.

Bohong Chen 1 Jan 07, 2022
🌈 PyTorch Implementation for EMNLP'21 Findings "Reasoning Visual Dialog with Sparse Graph Learning and Knowledge Transfer"

SGLKT-VisDial Pytorch Implementation for the paper: Reasoning Visual Dialog with Sparse Graph Learning and Knowledge Transfer Gi-Cheon Kang, Junseok P

Gi-Cheon Kang 9 Jul 05, 2022
A-SDF: Learning Disentangled Signed Distance Functions for Articulated Shape Representation (ICCV 2021)

A-SDF: Learning Disentangled Signed Distance Functions for Articulated Shape Representation (ICCV 2021) This repository contains the official implemen

81 Dec 14, 2022
Implementation of Self-supervised Graph-level Representation Learning with Local and Global Structure (ICML 2021).

Self-supervised Graph-level Representation Learning with Local and Global Structure Introduction This project is an implementation of ``Self-supervise

MilaGraph 50 Dec 09, 2022
Revitalizing CNN Attention via Transformers in Self-Supervised Visual Representation Learning

Revitalizing CNN Attention via Transformers in Self-Supervised Visual Representation Learning This repository is the official implementation of CARE.

ChongjianGE 89 Dec 02, 2022
Tree-based Search Graph for Approximate Nearest Neighbor Search

TBSG: Tree-based Search Graph for Approximate Nearest Neighbor Search. TBSG is a graph-based algorithm for ANNS based on Cover Tree, which is also an

Fanxbin 2 Dec 27, 2022
Code for "Learning Graph Cellular Automata"

Learning Graph Cellular Automata This code implements the experiments from the NeurIPS 2021 paper: "Learning Graph Cellular Automata" Daniele Grattaro

Daniele Grattarola 37 Oct 26, 2022
Adversarial Texture Optimization from RGB-D Scans (CVPR 2020).

AdversarialTexture Adversarial Texture Optimization from RGB-D Scans (CVPR 2020). Scanning Data Download Please refer to data directory for details. B

Jingwei Huang 153 Nov 28, 2022
Code for "Learning Skeletal Graph Neural Networks for Hard 3D Pose Estimation" ICCV'21

Skeletal-GNN Code for "Learning Skeletal Graph Neural Networks for Hard 3D Pose Estimation" ICCV'21 Various deep learning techniques have been propose

37 Oct 23, 2022
Neural network chess engine trained on Gary Kasparov's games.

Neural Chess It's not the best chess engine, but it is a chess engine. Proof of concept neural network chess engine (feed-forward multi-layer perceptr

3 Jun 22, 2022
Self Governing Neural Networks (SGNN): the Projection Layer

Self Governing Neural Networks (SGNN): the Projection Layer A SGNN's word projections preprocessing pipeline in scikit-learn In this notebook, we'll u

Guillaume Chevalier 22 Nov 06, 2022
Pytorch implementation of DeePSiM

Pytorch implementation of DeePSiM

1 Nov 05, 2021
ReGAN: Sequence GAN using RE[INFORCE|LAX|BAR] based PG estimators

Sequence Generation with GANs trained by Gradient Estimation Requirements: PyTorch v0.3 Python 3.6 CUDA 9.1 (For GPU) Origin The idea is from paper Se

40 Nov 03, 2022
Code and Data for NeurIPS2021 Paper "A Dataset for Answering Time-Sensitive Questions"

Time-Sensitive-QA The repo contains the dataset and code for NeurIPS2021 (dataset track) paper Time-Sensitive Question Answering dataset. The dataset

wenhu chen 35 Nov 14, 2022
Informal Persian Universal Dependency Treebank

Informal Persian Universal Dependency Treebank (iPerUDT) Informal Persian Universal Dependency Treebank, consisting of 3000 sentences and 54,904 token

Roya Kabiri 0 Jan 05, 2022
PyTorch Implementation of Spatially Consistent Representation Learning(SCRL)

Spatially Consistent Representation Learning (CVPR'21) Official PyTorch implementation of Spatially Consistent Representation Learning (SCRL). This re

Kakao Brain 102 Nov 03, 2022