Skip to content

Commit f084452

Browse files
committed
update README
1 parent 5e1220f commit f084452

File tree

1 file changed

+25
-30
lines changed

1 file changed

+25
-30
lines changed

README.md

Lines changed: 25 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -12,40 +12,24 @@ Labeled Zebrafish nuclei: Gopi Shah, Huisken Lab ([MPI-CBG](https://www.mpi-cbg.
1212

1313
## Python support
1414

15-
We now provide python wrappers in a separate repository [PyLibAPR](https://github.com/AdaptiveParticles/PyLibAPR)
15+
We provide python wrappers in a separate repository [pyapr](https://github.com/AdaptiveParticles/pyapr). This is likely
16+
the simplest option to first try and use the APR.
1617

17-
In addition to providing wrappers for most of the LibAPR functionality, the Python library contains a number of new features that simplify the generation and handling of the APR. For example:
18+
In addition to providing wrappers for most of the LibAPR functionality, the Python library contains a number of new
19+
features that simplify the generation and handling of the APR. For example:
1820

1921
* Interactive APR conversion
2022
* Interactive APR z-slice viewer
2123
* Interactive APR raycast (maximum intensity projection) viewer
2224
* Interactive lossy compression of particle intensities
2325

24-
25-
## Version 2.0 release notes
26-
27-
The library has changed significantly since release 1.1. __There are changes to IO and iteration that are not compatible
28-
with the older version__.
29-
30-
* New (additional) linear access data structure, explicitly storing coordinates in the sparse dimension,
31-
similar to Compressed Sparse Row.
32-
* Block-based decomposition of the APR generation pipeline, allowing conversion of very large images.
33-
* Expanded and improved functionality for image processing directly on the APR:
34-
* APR filtering (spatial convolutions).
35-
* [APRNumerics](./src/numerics/APRNumerics.hpp) module, including e.g. gradient computations and Richardson-Lucy deconvolution.
36-
* CUDA GPU-accelerated convolutions and RL deconvolution (currently only supports dense 3x3x3 and 5x5x5 stencils)
37-
38-
3926
## Dependencies
4027

4128
* HDF5 1.8.20 or higher
4229
* OpenMP > 3.0 (optional, but recommended)
4330
* CMake 3.6 or higher
4431
* LibTIFF 4.0 or higher
4532

46-
47-
NB: This update to 2.0 introduces changes to IO and iteration that are not compatable with old versions.
48-
4933
If compiling with APR_DENOISE flag the package also requires:
5034
* Eigen3.
5135

@@ -67,6 +51,7 @@ cmake -DAPR_USE_OPENMP=OFF ..
6751

6852
| Option | Description | Default value |
6953
|:--|:--|:--|
54+
| APR_INSTALL | Install library | OFF |
7055
| APR_BUILD_SHARED_LIB | Build shared library | OFF |
7156
| APR_BUILD_STATIC_LIB | Build static library | ON |
7257
| APR_BUILD_EXAMPLES | Build executable examples | OFF |
@@ -76,15 +61,18 @@ cmake -DAPR_USE_OPENMP=OFF ..
7661
| APR_PREFER_EXTERNAL_GTEST | Use installed gtest instead of included sources | ON |
7762
| APR_PREFER_EXTERNAL_BLOSC | Use installed blosc instead of included sources | ON |
7863
| APR_USE_OPENMP | Enable multithreading via OpenMP | ON |
79-
| APR_USE_CUDA | Enable CUDA (Under development - APR conversion pipeline is currently not working with CUDA enabled) | OFF |
64+
| APR_USE_CUDA | Enable CUDA functionality (under development) | OFF |
65+
| APR_DENOISE | Enable denoising code (requires Eigen3) | OFF |
8066

8167
### Building on Linux
8268

83-
On Ubuntu, install the `cmake`, `build-essential`, `libhdf5-dev` and `libtiff5-dev` packages (on other distributions, refer to the documentation there, the package names will be similar). OpenMP support is provided by the GCC compiler installed as part of the `build-essential` package.
69+
On Ubuntu, install the `cmake`, `build-essential`, `libhdf5-dev` and `libtiff5-dev` packages (on other distributions,
70+
refer to the documentation there, the package names will be similar). OpenMP support is provided by the GCC compiler
71+
installed as part of the `build-essential` package.
8472

85-
For denoising support also requires: `libeigen3-dev`
73+
Denoising support also requires `libeigen3-dev`.
8674

87-
In the directory of the cloned repository, run
75+
In the directory of the cloned repository, run:
8876

8977
```
9078
mkdir build
@@ -97,9 +85,11 @@ This will create the `libapr.so` library in the `build` directory.
9785

9886
### Building on OSX
9987

100-
On OSX, install the `cmake`, `hdf5` and `libtiff` [homebrew](https://brew.sh) packages and have the [Xcode command line tools](http://osxdaily.com/2014/02/12/install-command-line-tools-mac-os-x/) installed.
88+
On OSX, install the `cmake`, `hdf5` and `libtiff` [homebrew](https://brew.sh) packages and have the
89+
[Xcode command line tools](http://osxdaily.com/2014/02/12/install-command-line-tools-mac-os-x/) installed.
10190

102-
If you want to compile with OpenMP support (Recommended), also install the `llvm` and `libomp` package via homebrew as the clang version shipped by Apple currently does not support OpenMP.
91+
If you want to compile with OpenMP support (Recommended), also install the `llvm` and `libomp` package via homebrew as
92+
the clang version shipped by Apple currently does not support OpenMP.
10393

10494
In the directory of the cloned repository, run
10595

@@ -160,11 +150,11 @@ Note: not recently tested.
160150

161151
## Install instructions
162152

163-
Please see: INSTALL_INSTRUCTIONS.md and https://github.com/AdaptiveParticles/APR_cpp_project_example for a minimal project using the APR.
153+
Please see [INSTALL_INSTRUCTIONS](INSTALL_INSTRUCTIONS.md) and https://github.com/AdaptiveParticles/APR_cpp_project_example for a minimal project using the APR.
164154

165155
## Examples and Documentation
166156

167-
There are 12 basic examples, that show how to generate and compute with the APR. These can be built by adding
157+
There are 14 basic examples, that show how to generate and compute with the APR. These can be built by adding
168158
-DAPR_BUILD_EXAMPLES=ON to the cmake command.
169159

170160
| Example | How to ... |
@@ -181,10 +171,13 @@ There are 12 basic examples, that show how to generate and compute with the APR.
181171
| [Example_compute_gradient](./examples/Example_compute_gradient.cpp) | compute the gradient magnitude of an APR. |
182172
| [Example_apr_filter](./examples/Example_apr_filter.cpp) | apply a filter (convolution) to an APR. |
183173
| [Example_apr_deconvolution](./examples/Example_apr_deconvolution.cpp) | perform Richardson-Lucy deconvolution on an APR. |
174+
| [Exampe_denoise](./examples/Example_denoise.cpp) | denoise an APR (experimental) |
175+
| [Example_lazy_access](./examples/Example_lazy_access.cpp) | lazily iterate over APR particles and their spatial properties |
184176

185177
All examples except `Example_get_apr` and `Example_get_apr_by_block` require an already produced APR, such as those created by `Example_get_apr*`.
186178

187-
For tutorial on how to use the examples, and explanation of data-structures see [the library guide](./docs/lib_guide.pdf).
179+
For tutorial on how to use the examples, and explanation of data-structures see [the library guide](./docs/lib_guide.pdf)
180+
(note: this is outdated - in particular code examples may not work and some discussed parameters do not exist anymore).
188181

189182
## LibAPR Tests
190183

@@ -196,7 +189,9 @@ on the command line in your build folder. Please let us know by creating an issu
196189

197190
## Java wrappers
198191

199-
Basic Java wrappers can be found at [LibAPR-java-wrapper](https://github.com/krzysg/LibAPR-java-wrapper) Not compatable with recent releases.
192+
Basic Java wrappers can be found at [LibAPR-java-wrapper](https://github.com/AdaptiveParticles/LibAPR-java-wrapper).
193+
194+
Note: not compatable with recent releases.
200195

201196
## Coming soon
202197

0 commit comments

Comments
 (0)