Skip to content

Commit

Permalink
Fix docs
Browse files Browse the repository at this point in the history
  • Loading branch information
jmeziere committed Aug 20, 2024
1 parent 4db91a1 commit c0895cb
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 34 deletions.
20 changes: 9 additions & 11 deletions docs/src/index.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
# Julia BCDI Documentation
# BcdiStrain.jl Documentation

## About

The BYU-CXI research group maintains a suite of Julia packages to solve the Bragg Coherent Diffraction Imaging (BCDI) problem in several different regimes and circumstance.
Bragg Coherent Diffraction Imaging (BCDI) Strain implements projection-based phase retrieval algorithms. Some of the core functionality of this project is implemented in BcdiCore.jl and BcdiTrad.jl. Additionally, this package is part of a collection of BCDI packages consisting of BcdiAtomic.jl (an atomic scale BCDI solver), BcdiMeso.jl (a mesoscale BCDI Solver), and BcdiMulti.jl (a multiscale BCDI solver).

- [BcdiCore.jl](https://byu-cxi.github.io/BcdiCore.jl/dev) implements all of the Fourier transforms for the Julia BCDI packages. In addition, BcdiCore calculates the loss function used (either ``L_2`` or the MLE estimator) and derivatives of these loss functions.
While this package is marked as BCDI specific, the methods are more general and can be used in many phase retrieval problems. In the future, this package may be incorporated into a more general phase retrieval package.

- [BcdiTrad.jl](https://byu-cxi.github.io/BcdiTrad.jl/dev) implements projection-based BCDI algorithm. Currently, this is limited to ER, HIO, and shrinkwrap.
Currently, this entire package must be run with access to GPUs. This may change in the future (especially if Issues requesting it are opened), but for our research group, using GPUs is a necessity.

- [BcdiStrain.jl](https://byu-cxi.github.io/BcdiStrain.jl/dev) implements a multi-peak BCDI algorithm developed by the BYU-CXI group. In addition to the alogrithms present in BcdiTrad, BcdiStrain also implements Mount, an operator that switches between peaks.
## Installation

- [BcdiMeso.jl](https://byu-cxi.github.io/BcdiMeso.jl/dev) implements a BCDI algorithm that solves in the mesoscale regime. Instead of using projections, this algorithm uses a gradient-based optimization scheme. Additionally, BcdiMeso does not assume a small measurement distance away from the peak.
Currently, BcdiStrain.jl is not registered in the Julia general registry and can be installed by running in the REPL package manager (```]```):

- BcdiAtomic.jl is an upcoming BCDI package that implements a BCDI algorithm that solves at the atomic scale.

- BcdiMulti.jl is an upcoming BCDI package that implements a multiscale BCDI algorithm that solves at both the mesoscale and the atomic scale.

- BcdiSimulate.jl is an upcoming BCDI package that simulates the BCDI problem. Currently, this is only implimented at the atomic scale.
```
add BcdiStrain
```
17 changes: 0 additions & 17 deletions docs/src/main.md

This file was deleted.

12 changes: 6 additions & 6 deletions docs/src/use.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ This short script applies 20 HIO iterations and one ER iterations for a total of
# API

```@docs
State(intenities, recSupport)
ER()
HIO(beta)
Shrink(threshold, sigma, state)
Center(state)
Mount(beta, state, primitiveRecipLattice)
State
ER
HIO
Shrink
Center
Mount
```

0 comments on commit c0895cb

Please sign in to comment.