mirror of
https://github.com/cdtools-developers/cdtools.git
synced 2026-09-09 13:02:41 +02:00
I think this is no longer needed on the main page, now that all the major documentation versions should be easily available. The page with info for this remains visilble in the documentation
84 lines
2.4 KiB
Markdown
84 lines
2.4 KiB
Markdown
# CDTools
|
|
|
|
CDTools is a python library for ptychography and CDI reconstructions, using an Automatic Differentiation based approach.
|
|
|
|
```python
|
|
from matplotlib import pyplot as plt
|
|
from cdtools.datasets import Ptycho2DDataset
|
|
from cdtools.models import FancyPtycho
|
|
|
|
# Load a data file
|
|
dataset = Ptycho2DDataset.from_cxi('ptycho_data.cxi')
|
|
|
|
# Initialize a model from the data
|
|
model = FancyPtycho.from_dataset(dataset)
|
|
|
|
# Run a reconstruction
|
|
for loss in model.Adam_optimize(10, dataset):
|
|
print(model.report())
|
|
|
|
# Save the results
|
|
model.save_to_h5('ptycho_results.h5')
|
|
|
|
# And look at them!
|
|
model.inspect() # See the reconstructed object, probe, etc.
|
|
model.compare(dataset) # See how the simulated and measured patterns compare
|
|
plt.show()
|
|
```
|
|
|
|
Further documentation is found [here](https://cdtools.readthedocs.io).
|
|
|
|
# Installation
|
|
|
|
CDTools can be installed in several ways depending on your needs. For most users, installation from pypi is recommended. For developers or those who want the latest features, installation from source is available.
|
|
|
|
## Installation from pypi
|
|
|
|
CDTools can be installed via pip as the [cdtools-py](https://pypi.org/project/cdtools-py/) package on [PyPI](https://pypi.org/):
|
|
|
|
```bash
|
|
$ pip install cdtools-py
|
|
```
|
|
|
|
or using [uv](https://github.com/astral-sh/uv):
|
|
|
|
```bash
|
|
$ uv pip install cdtools-py
|
|
```
|
|
|
|
## Installation from Source
|
|
|
|
For development or to access the latest features, CDTools can be installed directly from source:
|
|
|
|
|
|
```bash
|
|
$ git clone https://github.com/cdtools-developers/cdtools.git
|
|
$ cd cdtools
|
|
$ pip install -e .
|
|
```
|
|
|
|
|
|
or using [uv](https://github.com/astral-sh/uv):
|
|
|
|
```bash
|
|
$ git clone https://github.com/cdtools-developers/cdtools.git
|
|
$ cd cdtools
|
|
$ uv pip install -e .
|
|
```
|
|
|
|
## Installing for Contributors (with tests and docs dependencies)
|
|
|
|
If you want to run the test suite or build the documentation, install with the extra dependencies:
|
|
|
|
```bash
|
|
$ pip install -e ."[tests,docs]"
|
|
```
|
|
or with uv:
|
|
```bash
|
|
$ uv pip install -e ."[tests,docs]"
|
|
```
|
|
|
|
CDTools was developed in the [photon scattering lab](https://scattering.mit.edu/) at MIT, and further development took place within the [computational x-ray imaging group](https://www.psi.ch/en/cxi) at PSI. The code is distributed under an MIT (a.k.a. Expat) license. If you would like to publish any work that uses CDTools, please contact [Abe Levitan](mailto:abraham.levitan@psi.ch).
|
|
|
|
Have a wonderful day!
|