Git Product home page Git Product logo

freect_wfbp_deprecated's Introduction

FreeCT

FreeCT has MOVED

FreeCT's primary repository has been moved to GitLab https://gitlab.com/freect/freect and this repository will no longer be maintained. Please check GitLab for the latest updates.

This repo will be preserved since the URL has been published in various journal articles, but going forward please use GitLab. Issues, request, etc. here will not be address.

Previous update:

WFBP is still now running for GE studies! I will be confirming that each of the GE studies is successfully reconstructed over the coming week, and begin work to support the Siemens studies.

Remaining issues:

  • Need to add adaptive filtration back into the toolbox
  • Need to write a basic how-to for using FreeCT
  • HU scaling is not working properly yet (likely related to scaling occurring in the filter and/or backprojection),
  • We have used a kluge in the backprojection kernel to get the TCIA geometry specification to match the WFBP geometry specification, however we should do away with this approach for a final release.

Sample TCIA Reconstructed Slices (2020/08/11)

sample_slice

FreeCT is open source reconstruction software for clinical 3rd generation, fan-beam CT.

This repository comprises all of the FreeCT projects, including WFBP, ICD, and our reader library. The other FreeCT repositories are no longer maintained.

I am in the process of converting this repository to run on the TCIA LDCT raw projection dataset.

If you,

  • are interested in contributing to accelerate this process,
  • have feature requests, or
  • ideas for how to improve the project

please reach out to John at [email protected].

Any "timelines" provided below are best guess estimates and are subject to change.

The existing FreeCT repositories will be FROZEN to support anyone who has been previously using them (although we apologize for any breaking changes we have made in the last few weeks), and no further work will be done to support them. Many of the upcoming changes will break backwards compatibility in the effort to concentrate our support on the TCIA LDCT data set first and foremost, since it has the widest availability.

Thanks for your interest and please stay tuned!

Best, John

Building FreeCT

Dependencies

FreeCT depends on several external packages:

The easiest way to install these is via your system package manager.

On Ubuntu 18.04:

sudo apt install libdcmtk-dev libyaml-cpp-dev libboost-all-dev libeigen3-dev nvidia-cuda-toolkit

If you run into CMake error messages regarding FFTW3 not being found, please skip to the end of this section and manually install FFTW3 rather than using the package manager.

Build the FreeCT applications (after dependencies have been installed)

To build, we follow a standard CMake workflow:

git clone https://github.com/FreeCT/FreeCT.git
cd FreeCT/
mkdir build && cd build

cmake ../
make -j5 

Individual targets can be build if you don't want to build everything:

make -j5 fct_read
make -j5 fct_read_util
make -j5 fct_wfbp # BUILDING AND RUNNING ON GE DATA
make -j5 fct_icd  # NOT BUILDING

We will do our best to add support for other platforms (or please create a pull request if you would like to add instructions on installing dependencies for other platforms)

Planned Development work for FreeCT

Near-term work to enable use on TCIA datasets:

Short-term goal is to get SOMETHING running for the LDCT dataset. This primarily involves modifications to the reader library and "setup" components of the FreeCT_wFBP packages. ICD will eventually be ported, however we do not have a timeline for that.

Timeline for work: 2 weeks - 1 month

  • Convert FreeCT_Reader to support TCIA DICOM format (done)
  • Modify FreeCT_wFBP setup.cu: support reading scanner data directly from RawDataSet class (done)
  • Modify FreeCT_wFBP setup.cu: New structure for YAML input files (done)
  • Migrate all project components (Reader, WFBP, ICD) into a single repository (this repository) with a unified build process (done)
  • Any required modifications to the reconstruction process b/c of new input structures (in progress)
    • On-the-fly generation of filter kernels required to reconstruct GE, replace old file-based system (done and validated!)
    • Debugging on GE data (done)
    • Debugging on Siemens data (in progress)

(updated on 2020/08/02)

Mid-term work to improve FreeCT usability

Larger, project-level restructuring to make downloading, building, and installing required FreeCT components easier. This will necessitate a license change (likely going to Apache 2.0 license.)

Timeline for work: 2 - 6 months

  • Unit tests to improve development process
  • Convert filtering in WFBP to use CuFFTW
  • Unified configuration file structure/parsing framework
  • Packaging of the project Ubuntu (and potentially other high-use OSes)
  • Set up a continuous integration system to keep users up to date on build status of FreeCT components

(updated on 2020/07/06)

Long-term work

Timeline for work: 6 months-???

  • Modernize GPU code for larger-memory cards
  • Better decoupling of CUDA code from C++ code
  • Python wrappers
  • Interoperability with other reconstruction software packages

(updated on 2020/06/28)

freect_wfbp_deprecated's People

Contributors

freect avatar johnmarianhoffman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.