Fast, accurate and reliable software for algebraic CT reconstruction

Related tags

Deep LearningKCT_cbct
Overview

KCT CBCT

Fast, accurate and reliable software for algebraic CT reconstruction.

This set of software tools includes OpenCL implementation of modern CT and CBCT reconstruction algorithms including unpublished algorithms by the author. Initially, the focus was on CT reconstruction using Krylov LSQR and CGLS methods. Gradually, other widely used methods such as OS-SIRT are added. Initially, the software was based on the idea of a projector that directly computes the projections of individual voxels onto pixels using the volume integrals of the voxel cuts. The author intends to publish a paper on this cutting voxel projector (CVP) in late 2021. However, the package also includes implementations of the TT projector and the Siddon projector the DD and TR projectors will be implemented in the near future. The code for the CVP projector is optimized using OpenCL local memory and is probably one of the fastest projector implementations ever for algebraic reconstruction.

The package has been tested and is compatible with the AMD Radeon VII Vega 20 GPU and NVIDIA GeForce RTX 2080 Ti GPU. Some routines have been optimized specifically for these GPU architectures. OpenCL code conforms to the OpenCL 1.2 specification and the implementation uses C++ wrappers from OpenCL 1.2. OpenCL 2.0 is not supported due to lack of support from NVidia.

Algorithms

Cutting voxel projector yet to be published.

LSQR algorithm was implemented according to https://doi.org/10.1002/nla.611

CGLS algorithm with delayed residual computation as described in the proceedings of Fully3D conference 2021 Software Implementation of the Krylov Methods Based Reconstruction for the 3D Cone Beam CT Operator Poster and extendend absract can be found in the publications directory

Repositories

The KCT package is hosted on Bitbucket and GitHub

GitHub public repository

git clone https://github.com/kulvait/KCT_cbct.git

Bitbucket public repository

git clone https://bitbucket.org/kulvait/kct_cbct.git

Submodules

Submodules lives in the submodules directory. To clone project including submodules one have to use the following commands

git submodule init
git submodule update

or use the following command when cloning repository

git clone --recurse-submodules

CTIOL

Input output routines for asynchronous thread safe reading/writing CT data. The DEN format read/write is implemented.

CTMAL

Mathematic/Algebraic algorithms for supporting CT data manipulation.

Plog logger

Logger Plog is used for logging. It is licensed under the Mozilla Public License Version 2.0.

CLI11

Comand line parser CLI11. It is licensed under 3 Clause BSD License.

Catch2

Testing framework. Licensed under Boost Software License 1.0.

CTPL

Threadpool library.

Documentation

Documentation is generated using doxygen and lives in doc directory. First the config file for doxygen was prepared runing doxygen -g. Doc files and this file can be written using Markdown syntax, JAVADOC_AUTOBRIEF is set to yes to treat first line of the doc comment as a brief description, comments are of the format

/**Brief description.
*
*Long description
*thay might span multiple lines.
*/

.

Licensing

When there is no other licensing and/or copyright information in the source files of this project, the following apply for the source files in the directories include and src and for CMakeLists.txt file:

Copyright (C) 2018-2021 Vojtěch Kulvait

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, version 3 of the License.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

This licensing applies to the direct source files in the directories include and src of this project and not for submodules.

Owner
Vojtěch Kulvait
2018-2021 PostDoc at Magdeburg University, CT reconstruction
Vojtěch Kulvait
CondenseNet: Light weighted CNN for mobile devices

CondenseNets This repository contains the code (in PyTorch) for "CondenseNet: An Efficient DenseNet using Learned Group Convolutions" paper by Gao Hua

Shichen Liu 690 Nov 30, 2022
《Geo Word Clouds》paper implementation

《Geo Word Clouds》paper implementation

Russellwzr 2 Jan 28, 2022
This is the official repository of XVFI (eXtreme Video Frame Interpolation)

XVFI This is the official repository of XVFI (eXtreme Video Frame Interpolation), https://arxiv.org/abs/2103.16206 Last Update: 20210607 We provide th

Jihyong Oh 195 Dec 29, 2022
Convert Mission Planner (ArduCopter) Waypoint Missions to Litchi CSV Format to execute on DJI Drones

Mission Planner to Litchi Convert Mission Planner (ArduCopter) Waypoint Surveys to Litchi CSV Format to execute on DJI Drones Litchi doesn't support S

Yaros 24 Dec 09, 2022
A (PyTorch) imbalanced dataset sampler for oversampling low frequent classes and undersampling high frequent ones.

Imbalanced Dataset Sampler Introduction In many machine learning applications, we often come across datasets where some types of data may be seen more

Ming 2k Jan 08, 2023
the code for paper "Energy-Based Open-World Uncertainty Modeling for Confidence Calibration"

EOW-Softmax This code is for the paper "Energy-Based Open-World Uncertainty Modeling for Confidence Calibration". Accepted by ICCV21. Usage Commnd exa

Yezhen Wang 36 Dec 02, 2022
PyTorch implementation of our paper: Decoupling and Recoupling Spatiotemporal Representation for RGB-D-based Motion Recognition

Decoupling and Recoupling Spatiotemporal Representation for RGB-D-based Motion Recognition, arxiv This is a PyTorch implementation of our paper. 1. Re

DamoCV 11 Nov 19, 2022
This project aim to create multi-label classification annotation tool to boost annotation speed and make it more easier.

This project aim to create multi-label classification annotation tool to boost annotation speed and make it more easier.

4 Aug 02, 2022
Some pre-commit hooks for OpenMMLab projects

pre-commit-hooks Some pre-commit hooks for OpenMMLab projects. Using pre-commit-hooks with pre-commit Add this to your .pre-commit-config.yaml - rep

OpenMMLab 16 Nov 29, 2022
Code, pre-trained models and saliency results for the paper "Boosting RGB-D Saliency Detection by Leveraging Unlabeled RGB Images".

Boosting RGB-D Saliency Detection by Leveraging Unlabeled RGB This repository is the official implementation of the paper. Our results comming soon in

Xiaoqiang Wang 8 May 22, 2022
Generic ecosystem for feature extraction from aerial and satellite imagery

Note: Robosat is neither maintained not actively developed any longer by Mapbox. See this issue. The main developers (@daniel-j-h, @bkowshik) are no l

Mapbox 1.9k Jan 06, 2023
A python library for highly configurable transformers - easing model architecture search and experimentation.

A python library for highly configurable transformers - easing model architecture search and experimentation.

Anthony Fuller 51 Nov 20, 2022
exponential adaptive pooling for PyTorch

AdaPool: Exponential Adaptive Pooling for Information-Retaining Downsampling Abstract Pooling layers are essential building blocks of Convolutional Ne

Alexandros Stergiou 55 Jan 04, 2023
Pytorch implementation of Cut-Thumbnail in the paper Cut-Thumbnail:A Novel Data Augmentation for Convolutional Neural Network.

Cut-Thumbnail (Accepted at ACM MULTIMEDIA 2021) Tianshu Xie, Xuan Cheng, Xiaomin Wang, Minghui Liu, Jiali Deng, Tao Zhou, Ming Liu This is the officia

3 Apr 12, 2022
Data cleaning, missing value handle, EDA use in this project

Lending Club Case Study Project Brief Solving this assignment will give you an idea about how real business problems are solved using EDA. In this cas

Dhruvil Sheth 1 Jan 05, 2022
Geneva is an artificial intelligence tool that defeats censorship by exploiting bugs in censors

Geneva is an artificial intelligence tool that defeats censorship by exploiting bugs in censors

Kevin Bock 1.5k Jan 06, 2023
Offcial implementation of "A Hybrid Video Anomaly Detection Framework via Memory-Augmented Flow Reconstruction and Flow-Guided Frame Prediction, ICCV-2021".

HF2-VAD Offcial implementation of "A Hybrid Video Anomaly Detection Framework via Memory-Augmented Flow Reconstruction and Flow-Guided Frame Predictio

76 Dec 21, 2022
Code for the paper: "On the Bottleneck of Graph Neural Networks and Its Practical Implications"

On the Bottleneck of Graph Neural Networks and its Practical Implications This is the official implementation of the paper: On the Bottleneck of Graph

75 Dec 22, 2022
A Python package for generating concise, high-quality summaries of a probability distribution

GoodPoints A Python package for generating concise, high-quality summaries of a probability distribution GoodPoints is a collection of tools for compr

Microsoft 28 Oct 10, 2022
A Dying Light 2 (DL2) PAKFile Utility for Modders and Mod Makers.

Dying Light 2 PAKFile Utility A Dying Light 2 (DL2) PAKFile Utility for Modders and Mod Makers. This tool aims to make PAKFile (.pak files) modding a

RHQ Online 12 Aug 26, 2022