Skip to content

Commit f74e0e0

Browse files
authored
Merge pull request #89 from cheesema/develop_b_minor
Develop b minor
2 parents eb54c12 + 0e11d7d commit f74e0e0

File tree

2 files changed

+24
-18
lines changed

2 files changed

+24
-18
lines changed

README.md

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# LibAPR - The Adaptive Particle Representation Library
22

3-
Library for producing and processing on the Adaptive Particle Representation (APR) (For article see: https://www.biorxiv.org/content/early/2018/02/09/263061).
3+
Library for producing and processing on the Adaptive Particle Representation (APR) (For article see: https://www.biorxiv.org/content/early/2018/03/02/263061).
44

55
<img src="./docs/apr_lowfps_lossy.gif?raw=true">
66

@@ -16,10 +16,6 @@ Labeled Zebrafish nuclei: Gopi Shah, Huisken Lab ([MPI-CBG](https://www.mpi-cbg.
1616
* LibTIFF 5.0 or higher
1717
* SWIG 3.0.12 (optional, for generating Java wrappers)
1818

19-
Opening hdf5 files in ParaView or HDFView requires additional installation of two libraries:
20-
* c-blosc 1.11.2 or higher
21-
* hdf5-blosc 1.1.0 or higher
22-
2319
## Building
2420

2521
The repository requires sub-modules, so the repository needs to be cloned recursively:
@@ -58,7 +54,7 @@ We provide working Dockerfile that install the library within the image on a sep
5854

5955
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.
6056

61-
If you want to compile with OpenMP support, also install the `llvm` package, as the clang version shipped by Apple currently does not support OpenMP.
57+
If you want to compile with OpenMP support, also install the `llvm` package (this can also be done using homebrew), as the clang version shipped by Apple currently does not support OpenMP.
6258

6359
In the directory of the cloned repository, run
6460

@@ -71,7 +67,7 @@ make
7167

7268
This will create the `libapr.so` library in the `build` directory, as well as all of the examples.
7369

74-
In case you want to use the homebrew-installed clang, modify the call to `cmake` above to
70+
In case you want to use the homebrew-installed clang (OpenMP support), modify the call to `cmake` above to
7571

7672
```
7773
CC="/usr/local/opt/llvm/bin/clang" CXX="/usr/local/opt/llvm/bin/clang++" LDFLAGS="-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib" CPPFLAGS="-I/usr/local/opt/llvm/include" cmake ..
@@ -102,24 +98,34 @@ There are nine basic examples, that show how to generate and compute with the AP
10298

10399
| Example | How to ... |
104100
|:--|:--|
105-
| [Example_get_apr](./examples/Example_get_apr.cpp) | create an APR file from a TIFF. |
106-
| [Example_apr_iterate](./examples/Example_apr_iterate.cpp) | iterate through a given APR file. |
101+
| [Example_get_apr](./examples/Example_get_apr.cpp) | create an APR from a TIFF and store as hdf5. |
102+
| [Example_apr_iterate](./examples/Example_apr_iterate.cpp) | iterate through a given APR. |
107103
| [Example_neighbour_access](./examples/Example_neighbour_access.cpp) | access particle and face neighbours. |
108-
| [Example_compress_apr](./examples/Example_compress_apr.cpp) | additionally compress the intensities stored in an APR file. |
109-
| [Example_compute_gradient](./examples/Example_compute_gradient.cpp) | compute a gradient based on the stored particles in an APR file. |
110-
| [Example_produce_paraview_file](./examples/Example_produce_paraview_file.cpp) | produce a file for visualisation in ParaView. |
104+
| [Example_compress_apr](./examples/Example_compress_apr.cpp) | additionally compress the intensities stored in an APR. |
105+
| [Example_compute_gradient](./examples/Example_compute_gradient.cpp) | compute a gradient based on the stored particles in an APR. |
106+
| [Example_produce_paraview_file](./examples/Example_produce_paraview_file.cpp) | produce a file for visualisation in ParaView or reading in Matlab. |
111107
| [Example_random_access](./examples/Example_random_access.cpp) | perform random access operations on particles. |
112-
| [Example_ray_cast](./examples/Example_ray_cast.cpp) | perform a maximum intensity projection ray cast directly on the APR data structures read from an APR file. |
113-
| [Example_reconstruct_image](./examples/Example_reconstruct_image.cpp) | reconstruct an pixel image from an APR file. |
108+
| [Example_ray_cast](./examples/Example_ray_cast.cpp) | perform a maximum intensity projection ray cast directly on the APR data structures read from an APR. |
109+
| [Example_reconstruct_image](./examples/Example_reconstruct_image.cpp) | reconstruct a pixel image from an APR. |
110+
111+
All examples except Example_get_apr require an already produced APR, such as those created by Example_get_apr.
114112

115113
For tutorial on how to use the examples, and explanation of data-structures see [the library guide](./docs/lib_guide.pdf).
116114

117115
## Coming soon
118116

119117
* more examples for APR-based filtering and segmentation
120-
* more convenient use from CMake projects
121118
* deployment of the Java wrappers to Maven Central so they can be used in your project directly
122119
* support for loading the APR in [Fiji](https://fiji.sc), including [scenery-based](https://github.com/scenerygraphics/scenery) 3D rendering
120+
* basic python wrapper support
121+
* improved java wrapper support
122+
* CUDA GPU-accelerated APR generation and processing
123+
124+
## Contact us
125+
126+
If anything is not working as you think it should, or would like it to, please get in touch with us!! Further, if you have a project, or algorithm, you would like to try using the APR for also please get in contact we would be glad to help!
127+
128+
[![Join the chat at https://gitter.im/LibAPR](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/LibAPR/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
123129

124130
## Citing this work
125131

examples/matlabHelpers/demo_read.m

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
% memory efficient. (Please use the C++ code for more data intensive tasks)
77
%
88

9-
%add your path to APR dataset produced by Example_produce_paraview_file
10-
filename = '/Users/cheesema/PhD/ImageGenData/Exemplar_aprs/spheres/120/sphere_apr_paraview.h5';
9+
%find the path to APR dataset produced by Example_produce_paraview_file
10+
[name,analysis_root] = uigetfile('*.h5');
1111

12-
apr_sphere = load_apr_full(filename);
12+
apr = load_apr_full([analysis_root,name]);

0 commit comments

Comments
 (0)