Tools for robust generative diffeomorphic slice to volume reconstruction

Related tags

Deep LearningRGDSVR
Overview

RGDSVR

Tools for Robust Generative Diffeomorphic Slice to Volume Reconstructions (RGDSVR)

This repository provides tools to implement the methods in the manuscript ''Fetal MRI by robust deep generative prior reconstruction and diffeomorphic registration: application to gestational age prediction'', L Cordero-Grande, JE Ortuño-Fisac, A Uus, M Deprez, A Santos, JV Hajnal, and MJ Ledesma-Carbayo, arXiv, 2021.

The code has been developed in MATLAB and has the following structure:

./

contains a script to run a reconstruction of the provided example data: rgdsvr_example.m and another to import the Python code loadPythonDeepFetal.m.

./SVR

contains files to perform SVR reconstructions: svrAlternateMinimization.m, svrCG.m, svrDD.m, svrDecode.m, svrEncode.m, svrExcitationStructures.m, svrRearrangeAxes.m, svrSetUp.m, svrSliceWeights.m, svrSolveDPack.m, svrSolveDVolu.m, svrSolveTVolu.m.

./SVR/Common

contains common functions used by SVR methods: computeDeformableTransforms.m, finalizeConvergenceControl.m, initializeConvergenceControl.m, initializeDEstimation.m, modulateGradient.m, prepareLineSearch.m, updateRule.m.

./Alignment

contains functions for registration.

./Alignment/Elastic

contains functions for elastic registration: adAdjointOperator.m, adDualOperator.m, buildDifferentialOperator.m, buildGradientOperator.m, buildMapSpace.m, computeGradientHessianElastic.m, computeJacobian.m, computeRiemannianMetric.m, deformationGradientTensor.m, deformationGradientTensorSpace.m, elasticTransform.m, geodesicShooting.m, integrateReducedAdjointJacobi.m, integrateVelocityFields.m, invertElasticTransform.m, mapSpace.m, precomputeFactorsElasticTransform.m.

./Alignment/Metrics

contains functions for metrics used in registration: computeMetricDerivativeHessianRigid.m, metricFiltering.m, metricMasking.m, msdMetric.m.

./Alignment/Rigid

contains functions for rigid registration: convertRotation.m, factorizeHomogeneousMatrix.m, generatePrincipalAxesRotations.m, generateTransformGrids.m, jacobianQuaternionEuler.m, jacobianShearQuaternion.m, mapVolume.m, modifyGeometryROI.m, precomputeFactorsSincRigidTransformQuick.m, quaternionToShear.m, restrictTransform.m, rotationDistance.m, shearQuaternion.m, sincRigidTransformGradientQuick.m, sincRigidTransformQuick.m.

./Build

contains functions that replace, extend or adapt some MATLAB built-in functions: aplGPU.m, det2x2m.m, det3x3m.m, diagm.m, dynInd.m, eigm.m, eultorotm.m, gridv.m, ind2subV.m, indDim.m, matfun.m, multDimMax.m, multDimMin.m, multDimSum.m, numDims.m, parUnaFun.m, quattoeul.m, resPop.m, resSub.m, rotmtoquat.m, sub2indV.m, svdm.m.

./Control

contains functions to control the implementation and parameters of the algorithm: channelsDeepDecoder.m, parametersDeepDecoder.m, svrAlgorithm.m, useGPU.m.

./Methods

contains functions that implement generic methods for reconstruction: build1DCTM.m, build1DFTM.m, buildFilter.m, buildStandardDCTM.m, buildStandardDFTM.m, computeROI.m, extractROI.m, fctGPU.m, fftGPU.m, filtering.m, fold.m, generateGrid.m, ifctGPU.m, ifftGPU.m, ifold.m, mirroring.m, resampling.m.

./Python/deepfetal/deepfetal

contains python methods.

./Python/deepfetal/deepfetal/arch

contains python methods to build deep architectures: deepdecoder.py.

./Python/deepfetal/deepfetal/build

contains python methods with generic functions: bmul.py, complex.py, dynind.py, matcharrays.py, shift.py.

./Python/deepfetal/deepfetal/lay

contains python methods to build deep layers: encode.py, resample.py, sinc.py, sine.py, swish.py, tanh.py.

./Python/deepfetal/deepfetal/meth

contains python methods with generic deep methodologies: apl.py, resampling.py, tmtx.py, t.py.

./Python/deepfetal/deepfetal/opt

contains python methods for optimization: cost.py, fit.py.

./Python/deepfetal/deepfetal/unit

contains python methods to build deep units: atac.py decoder.py.

./Tools

contains auxiliary tools: findString.m, removeExtension.m, writenii.m.

./Tools/NIfTI_20140122

from https://uk.mathworks.com/matlabcentral/fileexchange/8797-tools-for-nifti-and-analyze-image

NOTE 1: Example data provided in the dataset svr_inp_034.mat. For runs without changing the paths, it should be placed in folder

../RGDSVR-Data

Data generated when running the example script appears in this folder with names svr_out_034.mat and x_034.mat.

NOTE 2: Instructions for linking the python code in loadPythonDeepFetal.m.

NOTE 3: pathAnaconda variable in rgdsvr_example.m needs to point to parent of python environment.

NOTE 4: Example reconstruction takes about half an hour in a system equipped with a GPU NVIDIA GeForce RTX 3090.

You might also like...
Bayesian Image Reconstruction using Deep Generative Models
Bayesian Image Reconstruction using Deep Generative Models

Bayesian Image Reconstruction using Deep Generative Models R. Marinescu, D. Moyer, P. Golland For technical inquiries, please create a Github issue. F

Implementation for Paper "Inverting Generative Adversarial Renderer for Face Reconstruction"

StyleGAR TODO: add arxiv link Implementation of Inverting Generative Adversarial Renderer for Face Reconstruction TODO: for test Currently, some model

Adversarial-Information-Bottleneck - Distilling Robust and Non-Robust Features in Adversarial Examples by Information Bottleneck (NeurIPS21) NR-GAN: Noise Robust Generative Adversarial Networks
NR-GAN: Noise Robust Generative Adversarial Networks

NR-GAN: Noise Robust Generative Adversarial Networks (CVPR 2020) This repository provides PyTorch implementation for noise robust GAN (NR-GAN). NR-GAN

Official repo for AutoInt: Automatic Integration for Fast Neural Volume Rendering in CVPR 2021
Official repo for AutoInt: Automatic Integration for Fast Neural Volume Rendering in CVPR 2021

AutoInt: Automatic Integration for Fast Neural Volume Rendering CVPR 2021 Project Page | Video | Paper PyTorch implementation of automatic integration

Using this you can control your PC/Laptop volume by Hand Gestures (pinch-in, pinch-out) created with Python.
Using this you can control your PC/Laptop volume by Hand Gestures (pinch-in, pinch-out) created with Python.

Hand Gesture Volume Controller Using this you can control your PC/Laptop volume by Hand Gestures (pinch-in, pinch-out). Code Firstly I have created a

Hand Gesture Volume Control | Open CV | Computer Vision
Hand Gesture Volume Control | Open CV | Computer Vision

Gesture Volume Control Hand Gesture Volume Control | Open CV | Computer Vision Use gesture control to change the volume of a computer. First we look i

Official PyTorch Implementation of paper "Deep 3D Mask Volume for View Synthesis of Dynamic Scenes", ICCV 2021.

Deep 3D Mask Volume for View Synthesis of Dynamic Scenes Official PyTorch Implementation of paper "Deep 3D Mask Volume for View Synthesis of Dynamic S

Comments
  • Run the algorithm when the slice order is unknown

    Run the algorithm when the slice order is unknown

    Hi, thanks for sharing the code. I wonder if it is possible to use the algorithm when the slice order is unknown, i.e., svr.ParZ.SlOr is unknown. I tried to set svr.ParZ.SlOr to an empty array, but got the following error: Inappropriate slice order identified, SKIPPING. Is there a solution to this problem?

    opened by daviddmc 0
Owner
Lucilio Cordero-Grande
Lucilio Cordero-Grande
Data and code for the paper "Importance of Kernel Bandwidth in Quantum Machine Learning"

Reproducibility materials for "Importance of Kernel Bandwidth in Quantum Machine Learning" Repo structure: code contains Python scripts used to genera

Ruslan Shaydulin 3 Oct 23, 2022
Extreme Rotation Estimation using Dense Correlation Volumes

Extreme Rotation Estimation using Dense Correlation Volumes This repository contains a PyTorch implementation of the paper: Extreme Rotation Estimatio

Ruojin Cai 29 Nov 18, 2022
MiraiML: asynchronous, autonomous and continuous Machine Learning in Python

MiraiML Mirai: future in japanese. MiraiML is an asynchronous engine for continuous & autonomous machine learning, built for real-time usage. Usage In

Arthur Paulino 25 Jul 27, 2022
Pyramid R-CNN: Towards Better Performance and Adaptability for 3D Object Detection

Pyramid R-CNN: Towards Better Performance and Adaptability for 3D Object Detection

61 Jan 07, 2023
OCR Post Correction for Endangered Language Texts

📌 Coming soon: an update to the software including features from our paper on semi-supervised OCR post-correction, to be published in the Transaction

Shruti Rijhwani 96 Dec 31, 2022
A Learning-based Camera Calibration Toolbox

Learning-based Camera Calibration A Learning-based Camera Calibration Toolbox Paper The pdf file can be found here. @misc{zhang2022learningbased,

Eason 14 Dec 21, 2022
"SOLQ: Segmenting Objects by Learning Queries", SOLQ is an end-to-end instance segmentation framework with Transformer.

SOLQ: Segmenting Objects by Learning Queries This repository is an official implementation of the paper SOLQ: Segmenting Objects by Learning Queries.

MEGVII Research 179 Jan 02, 2023
ML From Scratch

ML from Scratch MACHINE LEARNING TOPICS COVERED - FROM SCRATCH Linear Regression Logistic Regression K Means Clustering K Nearest Neighbours Decision

Tanishq Gautam 66 Nov 02, 2022
Official implementation of "StyleCariGAN: Caricature Generation via StyleGAN Feature Map Modulation" (SIGGRAPH 2021)

StyleCariGAN: Caricature Generation via StyleGAN Feature Map Modulation This repository contains the official PyTorch implementation of the following

Wonjong Jang 270 Dec 30, 2022
Implementation of a Transformer using ReLA (Rectified Linear Attention)

ReLA (Rectified Linear Attention) Transformer Implementation of a Transformer using ReLA (Rectified Linear Attention). It will also contain an attempt

Phil Wang 49 Oct 14, 2022
Tree Nested PyTorch Tensor Lib

DI-treetensor treetensor is a generalized tree-based tensor structure mainly developed by OpenDILab Contributors. Almost all the operation can be supp

OpenDILab 167 Dec 29, 2022
LAMDA: Label Matching Deep Domain Adaptation

LAMDA: Label Matching Deep Domain Adaptation This is the implementation of the paper LAMDA: Label Matching Deep Domain Adaptation which has been accep

Tuan Nguyen 9 Sep 06, 2022
Nb workflows - A workflow platform which allows you to run parameterized notebooks programmatically

NB Workflows Description If SQL is a lingua franca for querying data, Jupyter sh

Xavier Petit 6 Aug 18, 2022
Unofficial implementation of "TTNet: Real-time temporal and spatial video analysis of table tennis" (CVPR 2020)

TTNet-Pytorch The implementation for the paper "TTNet: Real-time temporal and spatial video analysis of table tennis" An introduction of the project c

Nguyen Mau Dung 438 Dec 29, 2022
An pytorch implementation of Masked Autoencoders Are Scalable Vision Learners

An pytorch implementation of Masked Autoencoders Are Scalable Vision Learners This is a coarse version for MAE, only make the pretrain model, the fine

FlyEgle 214 Dec 29, 2022
DiscoNet: Learning Distilled Collaboration Graph for Multi-Agent Perception [NeurIPS 2021]

DiscoNet: Learning Distilled Collaboration Graph for Multi-Agent Perception [NeurIPS 2021] Yiming Li, Shunli Ren, Pengxiang Wu, Siheng Chen, Chen Feng

Automation and Intelligence for Civil Engineering (AI4CE) Lab @ NYU 98 Dec 21, 2022
EMNLP'2021: Simple Entity-centric Questions Challenge Dense Retrievers

EntityQuestions This repository contains the EntityQuestions dataset as well as code to evaluate retrieval results from the the paper Simple Entity-ce

Princeton Natural Language Processing 119 Sep 28, 2022
Official PyTorch implementation of Synergies Between Affordance and Geometry: 6-DoF Grasp Detection via Implicit Representations

Synergies Between Affordance and Geometry: 6-DoF Grasp Detection via Implicit Representations Zhenyu Jiang, Yifeng Zhu, Maxwell Svetlik, Kuan Fang, Yu

UT-Austin Robot Perception and Learning Lab 63 Jan 03, 2023
Active and Sample-Efficient Model Evaluation

Active Testing: Sample-Efficient Model Evaluation Hi, good to see you here! 👋 This is code for "Active Testing: Sample-Efficient Model Evaluation". P

Jannik Kossen 19 Oct 30, 2022
Meta Learning Backpropagation And Improving It (VSML)

Meta Learning Backpropagation And Improving It (VSML) This is research code for the NeurIPS 2021 publication Kirsch & Schmidhuber 2021. Many concepts

Louis Kirsch 22 Dec 21, 2022