Weight estimation in CT by multi atlas techniques

Related tags

Deep Learningmaweight
Overview

maweight

A Python package for multi-atlas based weight estimation for CT images, including segmentation by registration, feature extraction and model selection for regression.

About

A detailed description of the implemented methodology can be found in the paper:

The package is used intensively in the case study of estimating weights of meat cuts from the CT images of rabbit in the repository: https://github.com/gykovacs/rabbit_ct_weights

If you use the package, please consider citing the paper:

@article{Csoka2021,
    author={\'Ad\'am Cs\'oka and Gy\"orgy Kov\'acs and Vir\'ag \'Acs and Zsolt Matics and Zsolt Gerencs\'er and Zsolt Szendr\"o and \"Ors Petneh\'azy and Imre Repa and Mariann Moizs and Tam\'as Donk\'o},
    title={Multi-atlas segmentation based estimation of weights from CT scans in farm animal imaging and its applications to rabbit breeding programs},
    year={2021}
}

Installation (Windows/Linux/Mac)

Prerequisites: elastix

Make sure the elastix package (https://elastix.lumc.nl/) is installed and available in the command line by issuing

> elastix

If elastix is properly installed, the following textual output should appear in the terminal:

Use "elastix --help" for information about elastix-usage.

Installing the `maweight` package

Clone the GitHub repository:

> git clone [email protected]:gykovacs/maweight.git

Navigate into the root directory of the repository:

> cd maweight

Install the code into the active Python environment

> pip install .

Usage examples

Segmentation by elastic registration

The main functionality of the package is registering image A to image B by elastic registration and then transforming a set of images C, D, ... to image B by the same transformation field. This functionality is implemented in the `register_and_transform` function:

from maweight import register_and_transform

A # path, ndarray or Nifti1Image - the atlas image
B # path, ndarray or Nifti1Image - the unseen image
[C, D] # paths, ndarrays or Nifti1Image objects - the atlas annotations for A, to be transformed to B
[C_transformed_path, D_transformed_path] # paths of the output images

register_and_transform(A, B, [C, D], [C_transformed_path, D_transformed_path])

Feature extraction

Given an image B and a set of atlases registered to it [C, D, ...], with corresponding labels [Clabel, Dlabel, ...] (for the labeling of features), feature extraction with bin boundaries [b0, b1, ...] can be executed in terms of the `extract_features_3d` function:

from maweight import extract_features_3d

B # path, ndarray or Nifti1Image - a base image to extract features from
registered_atlases # list of paths, ndarrays or Nivti1Image objects
labels # list of labels of the atlases (used to label the features)
bins= [0, 20, 40, 60, 80, 100] # bin boundaries for histogram feature extraction

features= extract_features_3d(B, registered_atlases, labels, bins)

Model selection

Given a dataset of features extracted from the ensemble of segmentations, one can carry out regression model fitting by the `model_selection` function:

from maweight import model_selection

features # pandas DataFrame of features
targets # pandas Series of corresponding weights

results= model_selection(features, targets)

By default, the model selection runs simulated annealing based feature ssubset and regressor parameter selection for kNN, linear, lasso, ridge and PLS regression and returns the summary of results in a pandas DataFrame.

Owner
György Kovács
György Kovács
Pytorch implementation for reproducing StackGAN_v2 results in the paper StackGAN++: Realistic Image Synthesis with Stacked Generative Adversarial Networks

StackGAN-v2 StackGAN-v1: Tensorflow implementation StackGAN-v1: Pytorch implementation Inception score evaluation Pytorch implementation for reproduci

Han Zhang 809 Dec 16, 2022
This repository is a series of notebooks that show solutions for the projects at Dataquest.io.

Dataquest Project Solutions This repository is a series of notebooks that show solutions for the projects at Dataquest.io. Of course, there are always

Dataquest 1.1k Dec 30, 2022
Python wrapper of LSODA (solving ODEs) which can be called from within numba functions.

numbalsoda numbalsoda is a python wrapper to the LSODA method in ODEPACK, which is for solving ordinary differential equation initial value problems.

Nick Wogan 52 Jan 09, 2023
Programming with Neural Surrogates of Programs

Programming with Neural Surrogates of Programs

0 Dec 12, 2021
This is an implementation of PIFuhd based on Pytorch

Open-PIFuhd This is a unofficial implementation of PIFuhd PIFuHD: Multi-Level Pixel-Aligned Implicit Function forHigh-Resolution 3D Human Digitization

Lingteng Qiu 235 Dec 19, 2022
PyTorch implementation of MoCo: Momentum Contrast for Unsupervised Visual Representation Learning

MoCo: Momentum Contrast for Unsupervised Visual Representation Learning This is a PyTorch implementation of the MoCo paper: @Article{he2019moco, aut

Meta Research 3.7k Jan 02, 2023
Official PyTorch implementation of Data-free Knowledge Distillation for Object Detection, WACV 2021.

Introduction This repository is the official PyTorch implementation of Data-free Knowledge Distillation for Object Detection, WACV 2021. Data-free Kno

NVIDIA Research Projects 50 Jan 05, 2023
Official repo of the paper "Surface Form Competition: Why the Highest Probability Answer Isn't Always Right"

Surface Form Competition This is the official repo of the paper "Surface Form Competition: Why the Highest Probability Answer Isn't Always Right" We p

Peter West 46 Dec 23, 2022
Cours d'Algorithmique Appliquée avec Python pour BTS SIO SISR

Course: Introduction to Applied Algorithms with Python (in French) This is the source code of the website for the Applied Algorithms with Python cours

Loic Yvonnet 0 Jan 27, 2022
Agent-based model simulator for air quality and pandemic risk assessment in architectural spaces

Agent-based model simulation for air quality and pandemic risk assessment in architectural spaces. User Guide archABM is a fast and open source agent-

Vicomtech 10 Dec 05, 2022
Official codebase used to develop Vision Transformer, MLP-Mixer, LiT and more.

Big Vision This codebase is designed for training large-scale vision models on Cloud TPU VMs. It is based on Jax/Flax libraries, and uses tf.data and

Google Research 701 Jan 03, 2023
TransferNet: Learning Transferrable Knowledge for Semantic Segmentation with Deep Convolutional Neural Network

TransferNet: Learning Transferrable Knowledge for Semantic Segmentation with Deep Convolutional Neural Network Created by Seunghoon Hong, Junhyuk Oh,

42 Jun 29, 2022
Official code for the paper: Deep Graph Matching under Quadratic Constraint (CVPR 2021)

QC-DGM This is the official PyTorch implementation and models for our CVPR 2021 paper: Deep Graph Matching under Quadratic Constraint. It also contain

Quankai Gao 55 Nov 14, 2022
Tiny-NewsRec: Efficient and Effective PLM-based News Recommendation

Tiny-NewsRec The source codes for our paper "Tiny-NewsRec: Efficient and Effective PLM-based News Recommendation". Requirements PyTorch == 1.6.0 Tensor

Yang Yu 3 Dec 07, 2022
Explaining Hyperparameter Optimization via PDPs

Explaining Hyperparameter Optimization via PDPs This repository gives access to an implementation of the methods presented in the paper submission “Ex

2 Nov 16, 2022
pytorch implementation for PointNet

PointNet.pytorch This repo is implementation for PointNet in pytorch. The model is in pointnet/model.py. It is teste

Fei Xia 1.7k Dec 30, 2022
Official PyTorch implementation of Less is More: Pay Less Attention in Vision Transformers.

Less is More: Pay Less Attention in Vision Transformers Official PyTorch implementation of Less is More: Pay Less Attention in Vision Transformers. By

73 Jan 01, 2023
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
code associated with ACL 2021 DExperts paper

DExperts Hi! This repository contains code for the paper DExperts: Decoding-Time Controlled Text Generation with Experts and Anti-Experts to appear at

Alisa Liu 68 Dec 15, 2022
Web mining module for Python, with tools for scraping, natural language processing, machine learning, network analysis and visualization.

Pattern Pattern is a web mining module for Python. It has tools for: Data Mining: web services (Google, Twitter, Wikipedia), web crawler, HTML DOM par

Computational Linguistics Research Group 8.4k Jan 03, 2023