You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+21-15Lines changed: 21 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# LibAPR - The Adaptive Particle Representation Library
2
2
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).
* SWIG 3.0.12 (optional, for generating Java wrappers)
18
18
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
-
23
19
## Building
24
20
25
21
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
58
54
59
55
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.
60
56
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.
62
58
63
59
In the directory of the cloned repository, run
64
60
@@ -71,7 +67,7 @@ make
71
67
72
68
This will create the `libapr.so` library in the `build` directory, as well as all of the examples.
73
69
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
@@ -102,24 +98,34 @@ There are nine basic examples, that show how to generate and compute with the AP
102
98
103
99
| Example | How to ... |
104
100
|:--|:--|
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. |
107
103
|[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. |
111
107
|[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.
114
112
115
113
For tutorial on how to use the examples, and explanation of data-structures see [the library guide](./docs/lib_guide.pdf).
116
114
117
115
## Coming soon
118
116
119
117
* more examples for APR-based filtering and segmentation
120
-
* more convenient use from CMake projects
121
118
* deployment of the Java wrappers to Maven Central so they can be used in your project directly
122
119
* 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
+
[](https://gitter.im/LibAPR/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
-compress_type number (1 or 2) (1 - WNL compression(Default), 2 - prediction step with lossless, potential rounding error)
17
+
-compress_type number (1 or 2) (1 - WNL compression, only variance stabalization step (Default), 2 - variance stabalization and x,y,z prediction (note slower for ~30% compression gain)
18
18
-quantization_level (Default 1: higher increasing the loss nature of the WNL compression aproach)
19
+
-compress_level (the IO uses BLOSC for lossless compression of the APR, this can be set from 1-9, where higher increases the compression level. Note, this can come at a significant time increase.)
19
20
20
-
e.g. Example_compress_apr -i nuc_apr.h5 -d /Test/Input_examples/ -compress_type 2
21
+
e.g. Example_compress_apr -i nuc_apr.h5 -d /Test/Input_examples/ -compress_type 1
21
22
22
23
Note: fine grained parameters can be tuned within the file, to play with lossless compression level, method used, and other parameters.
23
24
@@ -59,17 +60,47 @@ int main(int argc, char **argv) {
0 commit comments