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
Character-Input - Create a program that asks the user to enter their name and their age

Character-Input Create a program that asks the user to enter their name and thei

PyLaboratory 0 Feb 06, 2022
The Habitat-Matterport 3D Research Dataset - the largest-ever dataset of 3D indoor spaces.

Habitat-Matterport 3D Dataset (HM3D) The Habitat-Matterport 3D Research Dataset is the largest-ever dataset of 3D indoor spaces. It consists of 1,000

Meta Research 62 Dec 27, 2022
Efficient Multi Collection Style Transfer Using GAN

Proposed a new model that can make style transfer from single style image, and allow to transfer into multiple different styles in a single model.

Zhaozheng Shen 2 Jan 15, 2022
Train the HRNet model on ImageNet

High-resolution networks (HRNets) for Image classification News [2021/01/20] Add some stronger ImageNet pretrained models, e.g., the HRNet_W48_C_ssld_

HRNet 866 Jan 04, 2023
My usage of Real-ESRGAN to upscale anime, some test and results in the test_img folder

anime upscaler My usage of Real-ESRGAN to upscale anime, I hope to use this on a proper GPU cuz doing this on CPU is completely shit 😂 , I even tried

Shangar Muhunthan 29 Jan 07, 2023
BOVText: A Large-Scale, Multidimensional Multilingual Dataset for Video Text Spotting

BOVText: A Large-Scale, Bilingual Open World Dataset for Video Text Spotting Updated on December 10, 2021 (Release all dataset(2021 videos)) Updated o

weijiawu 47 Dec 26, 2022
Determined: Deep Learning Training Platform

Determined: Deep Learning Training Platform Determined is an open-source deep learning training platform that makes building models fast and easy. Det

Determined AI 2k Dec 31, 2022
Keras-1D-NN-Classifier

Keras-1D-NN-Classifier This code is based on the reference codes linked below. reference 1, reference 2 This code is for 1-D array data classification

Jae-Hoon Shim 6 May 18, 2021
Edge Restoration Quality Assessment

ERQA - Edge Restoration Quality Assessment ERQA - a full-reference quality metric designed to analyze how good image and video restoration methods (SR

MSU Video Group 27 Dec 17, 2022
A Text Attention Network for Spatial Deformation Robust Scene Text Image Super-resolution (CVPR2022)

A Text Attention Network for Spatial Deformation Robust Scene Text Image Super-resolution (CVPR2022) https://arxiv.org/abs/2203.09388 Jianqi Ma, Zheto

MA Jianqi, shiki 104 Jan 05, 2023
It is the assignment for COMP 576 in Rice University

COMP-576 It is the assignment for COMP 576 in Rice University There are two programming assignments and one Final Project. Assignment 1: It is a MLP a

Maojie Tang 1 Nov 25, 2021
Improving Object Detection by Label Assignment Distillation

Improving Object Detection by Label Assignment Distillation This is the official implementation of the WACV 2022 paper Improving Object Detection by L

Cybercore Co. Ltd 51 Dec 08, 2022
[ICCV 2021] HRegNet: A Hierarchical Network for Large-scale Outdoor LiDAR Point Cloud Registration

HRegNet: A Hierarchical Network for Large-scale Outdoor LiDAR Point Cloud Registration Introduction The repository contains the source code and pre-tr

Intelligent Sensing, Perception and Computing Group 55 Dec 14, 2022
PyTorch inference for "Progressive Growing of GANs" with CelebA snapshot

Progressive Growing of GANs inference in PyTorch with CelebA training snapshot Description This is an inference sample written in PyTorch of the origi

320 Nov 21, 2022
Image-to-Image Translation with Conditional Adversarial Networks (Pix2pix) implementation in keras

pix2pix-keras Pix2pix implementation in keras. Original paper: Image-to-Image Translation with Conditional Adversarial Networks (pix2pix) Paper Author

William Falcon 141 Dec 30, 2022
A Pose Estimator for Dense Reconstruction with the Structured Light Illumination Sensor

Phase-SLAM A Pose Estimator for Dense Reconstruction with the Structured Light Illumination Sensor This open source is written by MATLAB Run Mode Open

Xi Zheng 14 Dec 19, 2022
EgoNN: Egocentric Neural Network for Point Cloud Based 6DoF Relocalization at the City Scale

EgonNN: Egocentric Neural Network for Point Cloud Based 6DoF Relocalization at the City Scale Paper: EgoNN: Egocentric Neural Network for Point Cloud

19 Sep 20, 2022
Code for the paper "Asymptotics of ℓ2 Regularized Network Embeddings"

README Code for the paper Asymptotics of L2 Regularized Network Embeddings. Requirements Requires Stellargraph 1.2.1, Tensorflow 2.6.0, scikit-learm 0

Andrew Davison 0 Jan 06, 2022
generate-2D-quadrilateral-mesh-with-neural-networks-and-tree-search

generate-2D-quadrilateral-mesh-with-neural-networks-and-tree-search This repository contains single-threaded TreeMesh code. I'm Hua Tong, a senior stu

Hua Tong 18 Sep 21, 2022
HiFi++: a Unified Framework for Neural Vocoding, Bandwidth Extension and Speech Enhancement

HiFi++ : a Unified Framework for Neural Vocoding, Bandwidth Extension and Speech Enhancement This is the unofficial implementation of Vocoder part of

Rishikesh (ऋषिकेश) 118 Dec 29, 2022