Sqeazy - Fast and Flexible Volume Compression Library
A fast and flexible compression library for 3D volume data (ND potentially planned). The core library is written in C++ with bindings for C, Java (through BridJ), and Python (to be implemented). Binaries are provided for Win (working for the native library), OSX (working for the native library, but not all tests pass), and Linux (works, native library and java bindings).
If you want to learn more about sqeazy, check out our documentation or dial over to the projects web-page.
Sqeazy is hosted on bintray. In order to use it, do:
Add the following to your build.gradle
:
repositories
{
//...
maven { url "https://dl.bintray.com/sqeazy/maven" }
}
dependencies {
//...
compile 'net.sqeazy:sqeazy:0.5.2'
}
<repositories>
...
<repository>
<id>sqeazy</id>
<url>https://dl.bintray.com/sqeazy/maven</url>
</repository>
</repositories>
<dependencies>
...
<dependency>
<groupId>net.sqeazy</groupId>
<artifactId>sqeazy</artifactId>
<version>0.5.2</version>
<type>pom</type>
</dependency>
</dependencies>
import sqeazy.bindings.SqeazyLibrary;
import org.bridj.Pointer;
public class Library {
public boolean isSqeazyAvailable() {
final Pointer<Integer> version = Pointer.allocateInts(3);
SqeazyLibrary.SQY_Version_Triple(version);
int sum = version.get(0) + version.get(1) + version.get(2);
if(sum>0)
return true;
else
return false;
}
}
As mentioned above, sqeazy comes in a whole bag of varieties. The native application and library is build using cmake. The grand project layout, compilation for java and packaging is performed with gradle.
To build everything from the root directory that contains this README.md file, just call
gradle build
or use the shipped script let_me_build_that_for_you.sh
(click let_me_build_that_for_you
on Windows).
If any of the dependencies listed below are not available through your environment, please call gradle like:
gradle build -Phdf5_path=/usr/local/ -Plz4_path=/usr/local/ -Pboost_path=/usr/local/ -Pffmpeg_path=/usr/local/ -Ptiff_path=/usr/local
where in the above all required libraries by sqeazy are installed under /opt/local. Adapt this path according to your system.
libsqeazy
dependencies are listed below:
- lz4
- boost (> 1.56)
- hdf5 (>= 1.8.12)
- ffmpeg (>= 3.0) with libx256 (>= 1.7)
sqy
- the binary application to use similar to zip/tar/etc. depends on:
- lz4
- libtiff
- boost (>= 1.56)
- hdf5 (>= 1.8.12)
- ffmpeg (>= 3.0) with libx256 (>= 1.7)
For further information on building native sqeazy on the supported platforms, see the FAQ or the cmake documentation.
The java bindings just require libsqeazy to be present in the directory /path/to/repo/src/cpp/build/src
.
There is no license yet, as there is no production ready code.