Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions GettingStarted.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
Getting started
===============
# Getting started

Here are suggested steps for the RTK beginner.

Expand Down
50 changes: 40 additions & 10 deletions INSTALLATION.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
RTK installation
================
# RTK installation

Configuration, compilation and installation with ITK
----------------------------------------------------
## Configuration, compilation and installation with ITK
RTK is a module of [ITK](https://www.itk.org), the Insight Toolkit. Follow the instructions of the [ITK software guide](https://itk.org/ITKSoftwareGuide/html) ([chapter 2](https://itk.org/ITKSoftwareGuide/html/Book1/ITKSoftwareGuide-Book1ch2.html) mainly) for configuring and compiling ITK. The following CMake options are RTK specific:

* `Module_RTK`: Activates RTK download and compilation. Default is `OFF`. Turn it `ON` to activate RTK or compile RTK independently (see below).
Expand All @@ -15,8 +13,7 @@ RTK is a module of [ITK](https://www.itk.org), the Insight Toolkit. Follow the i

RTK will automatically be installed when installing ITK.

Independent configuration and compilation
-----------------------------------------
## Independent configuration and compilation
For RTK developpers, it may be useful to compile RTK independently from ITK. This is possible, simply:
* Compile ITK with `Module_RTK=OFF`.
* If you want to use CUDA, also activate `Module_CudaCommon` or compile it separately as RTK in the following two bullet points (cloning its [GitHub repository](https://github.com/RTKConsortium/ITKCudaCommon) or downloading it as a [zip package](https://codeload.github.com/RTKConsortium/ITKCudaCommon/zip/main)).
Expand All @@ -25,8 +22,7 @@ For RTK developpers, it may be useful to compile RTK independently from ITK. Thi

Installation is currently not supported for independent RTK compilations.

Pre-compiled binaries
---------------------
## Python pre-compiled binaries
We only provide pre-compiled binaries for the Python package which depends on ITK. Use the following commands to install the RTK module with `pip`.
```
python -m pip install --upgrade pip
Expand All @@ -42,6 +38,40 @@ python -m pip install itk-rtk-cuda124
python -m pip install itk-rtk-cuda124
```

Getting started
---------------
### GUI tools
Some RTK command-line tools, such as `rtkshowgeometry`, require graphical visualization capabilities. To use these tools, install the GUI optional dependencies:
```
python -m pip install itk-rtk[gui]
```

This installs:
* `pyvista` - for 3D visualization
* `matplotlib` - for additional graphics support

### Testing
To run RTK Python tests with pytest, install the test dependencies from the directory containing `pyproject.toml`:

```
pip install --group test
```

This installs:
* `pytest>=7.0` - for running Python unit tests
* `matplotlib` - for visualization in tests

After installing, run the tests with:
```
pytest test/
```

### Documentation
To build the RTK documentation, install the documentation dependencies from the directory containing `pyproject.toml`:

```
pip install --group doc
```

This installs Sphinx and related tools for documentation generation.

## Getting started
See [GettingStarted.md](GettingStarted.md). Your `CMakeLists.txt` can now use RTK when importing ITK as shown in the [FirstReconstruction's CMakeLists.txt](https://github.com/RTKConsortium/RTK/blob/main/examples/FirstReconstruction/CMakeLists.txt#L7).
9 changes: 3 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
RTK: The Reconstruction ToolKit
===============================
# RTK: The Reconstruction ToolKit

[![GitHub release](https://img.shields.io/github/release/RTKConsortium/RTK.svg)](https://github.com/RTKConsortium/RTK/releases/latest)
[![PyPI](https://img.shields.io/pypi/v/itk-rtk.svg)](https://pypi.python.org/pypi/itk-rtk)
Expand All @@ -11,8 +10,7 @@ RTK: The Reconstruction ToolKit
[gha-link]: https://github.com/RTKConsortium/RTK/actions/workflows/build-test-package.yml


Links
-----
## Links

* [Homepage](https://www.openrtk.org)
* [Download](https://www.openrtk.org/RTK/resources/software.html)
Expand All @@ -22,8 +20,7 @@ Links
* [Issue tracking](https://github.com/RTKConsortium/RTK/issues)


Copyright RTK Consortium
------------------------
## Copyright RTK Consortium

Licensed under the Apache License, Version 2.0 (the
"[License](https://www.apache.org/licenses/LICENSE-2.0.txt)"); you may not use
Expand Down
10 changes: 10 additions & 0 deletions applications/rtkshowgeometry/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,16 @@

![geom](../../documentation/docs/ExternalData/ShowGeometry.png){w=800 alt="Show Geometry"}

## Installation

`rtkshowgeometry` requires the GUI optional dependencies. Install RTK with GUI support using:

```bash
pip install itk-rtk[gui]
```

## Usage

All geometries described in the [documentation](../../documentation/docs/Geometry.md) are supported: cone-beam and parallel (`SDD = 0`), flat and cylindrical (`RadiusCylindricalDetector > 0`) detectors. If no projections are given, the detector size defaults to 40% of the Source-to-Isocenter Distance (SID) and is centered around point `(u,v)=(0,0)`.

```{literalinclude} showgeometry.sh
Expand Down
3 changes: 1 addition & 2 deletions examples/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
C++ / Python examples
========
# C++ / Python examples

This section provides a collection of C++ and Python code examples
to demonstrate how to effectively use RTK in various applications.
Expand Down
3 changes: 1 addition & 2 deletions index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
The Reconstruction Toolkit (RTK)
================================
# The Reconstruction Toolkit (RTK)

RTK is an open-source and cross-platform software for fast circular cone-beam CT reconstruction based on the Insight Toolkit (ITK). RTK is developed by the RTK consortium.

Expand Down
16 changes: 16 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,12 @@ dependencies = [
"itk == 5.4.*",
]

[project.optional-dependencies]
gui = [
"pyvista",
"matplotlib"
]

[project.scripts]
rtkadmmtotalvariation = "itk.rtkadmmtotalvariation:main"
rtkadmmwavelets = "itk.rtkadmmwavelets:main"
Expand Down Expand Up @@ -152,3 +158,13 @@ minimum-version = "0.8.2"

# The build directory. Defaults to a temporary directory, but can be set.
build-dir = "build/{wheel_tag}"

[dependency-groups]
test = ["pytest>=7.0", "matplotlib"]
doc = [
"furo",
"myst-parser[linkify]",
"sphinx>=7.2.6",
"sphinx-copybutton",
"sphinx-design",
]
Loading