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
Bunch of different tools which helps visualizing and annotating images for semantic/instance segmentation tasks

Data Framework for Semantic/Instance Segmentation Bunch of different tools which helps visualizing, transforming and annotating images for semantic/in

Bruno Fernandes Carvalho 5 Dec 21, 2022
Dual Attention Network for Scene Segmentation (CVPR2019)

Dual Attention Network for Scene Segmentation(CVPR2019) Jun Fu, Jing Liu, Haijie Tian, Yong Li, Yongjun Bao, Zhiwei Fang,and Hanqing Lu Introduction W

Jun Fu 2.2k Dec 28, 2022
Model-free Vehicle Tracking and State Estimation in Point Cloud Sequences

Model-free Vehicle Tracking and State Estimation in Point Cloud Sequences 1. Introduction This project is for paper Model-free Vehicle Tracking and St

TuSimple 92 Jan 03, 2023
Social Network Ads Prediction

Social network advertising, also social media targeting, is a group of terms that are used to describe forms of online advertising that focus on social networking services.

Khazar 2 Jan 28, 2022
Does Oversizing Improve Prosumer Profitability in a Flexibility Market? - A Sensitivity Analysis using PV-battery System

Does Oversizing Improve Prosumer Profitability in a Flexibility Market? - A Sensitivity Analysis using PV-battery System The possibilities to involve

Babu Kumaran Nalini 0 Nov 19, 2021
PyTorch implementation of deep GRAph Contrastive rEpresentation learning (GRACE).

GRACE The official PyTorch implementation of deep GRAph Contrastive rEpresentation learning (GRACE). For a thorough resource collection of self-superv

Big Data and Multi-modal Computing Group, CRIPAC 186 Dec 27, 2022
PyTorch implementation of MSBG hearing loss model and MBSTOI intelligibility metric

PyTorch implementation of MSBG hearing loss model and MBSTOI intelligibility metric This repository contains the implementation of MSBG hearing loss m

BUT <a href=[email protected]"> 9 Nov 08, 2022
TensorFlow Similarity is a python package focused on making similarity learning quick and easy.

TensorFlow Similarity is a python package focused on making similarity learning quick and easy.

912 Jan 08, 2023
Implementation of FSGNN

FSGNN Implementation of FSGNN. For more details, please refer to our paper Experiments were conducted with following setup: Pytorch: 1.6.0 Python: 3.8

19 Dec 05, 2022
[CVPR'21] Multi-Modal Fusion Transformer for End-to-End Autonomous Driving

TransFuser This repository contains the code for the CVPR 2021 paper Multi-Modal Fusion Transformer for End-to-End Autonomous Driving. If you find our

695 Jan 05, 2023
Tutorial: Introduction to Graph Machine Learning, with Jupyter notebooks

GraphMLTutorialNLDL22 Tutorial NLDL22: Introduction to Graph Machine Learning, with Jupyter notebooks This tutorial takes place during the conference

UiT Machine Learning Group 3 Jan 10, 2022
torchbearer: A model fitting library for PyTorch

Note: We're moving to PyTorch Lightning! Read about the move here. From the end of February, torchbearer will no longer be actively maintained. We'll

631 Jan 04, 2023
an implementation of softmax splatting for differentiable forward warping using PyTorch

softmax-splatting This is a reference implementation of the softmax splatting operator, which has been proposed in Softmax Splatting for Video Frame I

Simon Niklaus 338 Dec 28, 2022
A minimal implementation of Gaussian process regression in PyTorch

pytorch-minimal-gaussian-process In search of truth, simplicity is needed. There exist heavy-weighted libraries, but as you know, we need to go bare b

Sangwoong Yoon 38 Nov 25, 2022
The implementation our EMNLP 2021 paper "Enhanced Language Representation with Label Knowledge for Span Extraction".

LEAR The implementation our EMNLP 2021 paper "Enhanced Language Representation with Label Knowledge for Span Extraction". See below for an overview of

杨攀 93 Jan 07, 2023
Source code for our paper "Do Not Trust Prediction Scores for Membership Inference Attacks"

Do Not Trust Prediction Scores for Membership Inference Attacks Abstract: Membership inference attacks (MIAs) aim to determine whether a specific samp

<a href=[email protected]"> 3 Oct 25, 2022
Tutorial on active learning with the Nvidia Transfer Learning Toolkit (TLT).

Active Learning with the Nvidia TLT Tutorial on active learning with the Nvidia Transfer Learning Toolkit (TLT). In this tutorial, we will show you ho

Lightly 25 Dec 03, 2022
Embracing Single Stride 3D Object Detector with Sparse Transformer

SST: Single-stride Sparse Transformer This is the official implementation of paper: Embracing Single Stride 3D Object Detector with Sparse Transformer

TuSimple 385 Dec 28, 2022
clDice - a Novel Topology-Preserving Loss Function for Tubular Structure Segmentation

README clDice - a Novel Topology-Preserving Loss Function for Tubular Structure Segmentation CVPR 2021 Authors: Suprosanna Shit and Johannes C. Paetzo

110 Dec 29, 2022
A denoising diffusion probabilistic model (DDPM) tailored for conditional generation of protein distograms

Denoising Diffusion Probabilistic Model for Proteins Implementation of Denoising Diffusion Probabilistic Model in Pytorch. It is a new approach to gen

Phil Wang 108 Nov 23, 2022