[ismrmrd] 106/177: Removed Java bindings.
Ghislain Vaillant
ghisvail-guest at moszumanska.debian.org
Wed Jan 14 20:02:08 UTC 2015
This is an automated email from the git hooks/post-receive script.
ghisvail-guest pushed a commit to annotated tag v1.1.0.beta.1
in repository ismrmrd.
commit 903fa4af6000244878c131e16663903e2e8c2e10
Author: Souheil Inati <souheil.inati at nih.gov>
Date: Fri Sep 26 23:11:14 2014 -0400
Removed Java bindings.
---
bindings/CMakeLists.txt | 7 -
bindings/java/CMakeLists.txt | 46 ---
bindings/java/JNILibLoader.java | 34 --
bindings/java/XMLString.java | 42 ---
bindings/java/cfg.jxb | 10 -
bindings/java/ismrmrd_java.i | 780 ----------------------------------------
bindings/java/make_jar.sh.in | 10 -
examples/java/ismrmrd_test.java | 55 ---
8 files changed, 984 deletions(-)
diff --git a/bindings/CMakeLists.txt b/bindings/CMakeLists.txt
index 3b31948..3234b97 100644
--- a/bindings/CMakeLists.txt
+++ b/bindings/CMakeLists.txt
@@ -16,11 +16,4 @@ if(SWIG_FOUND)
message("PythonLibs not found. Not building Python bindings")
endif(PYTHONLIBS_FOUND)
- find_package(JNI)
- if(JNI_FOUND)
- add_subdirectory(java)
- else(JNI_FOUND)
- message("Java Native Interface not found. Not building Java bindings")
- endif(JNI_FOUND)
-
endif(SWIG_FOUND)
diff --git a/bindings/java/CMakeLists.txt b/bindings/java/CMakeLists.txt
deleted file mode 100644
index b88f77f..0000000
--- a/bindings/java/CMakeLists.txt
+++ /dev/null
@@ -1,46 +0,0 @@
-include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
-include_directories(${HDF5_INCLUDE_DIR} ${HDF5_INCLUDE_DIR}/cpp ${Boost_INCLUDE_DIR})
-include_directories(${JNI_INCLUDE_DIRS})
-
-add_definitions(-Dismrmrd_EXPORTS)
-
-set(CMAKE_SWIG_FLAGS -package org.ismrm.ismrmrd)
-set(CMAKE_SWIG_OUTDIR ${CMAKE_CURRENT_BINARY_DIR}/org/ismrm/ismrmrd)
-
-set(SWIG_SOURCES ismrmrd_java.i ${CMAKE_SOURCE_DIR}/ismrmrd_hdf5.cpp)
-set_source_files_properties(${SWIG_SOURCES} PROPERTIES CPLUSPLUS ON)
-swig_add_module(jismrmrd java ${SWIG_SOURCES})
-swig_link_libraries(jismrmrd ${HDF5_LIBRARIES} ${Boost_LIBRARIES})
-
-#### ISMRMRD XML Header Java library ####
-configure_file(make_jar.sh.in make_jar.sh @ONLY)
-
-set(JAVADOC_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/doc")
-set(JAVA_OUTPUTS "${CMAKE_CURRENT_BINARY_DIR}/ismrmrd.jar" ${JAVADOC_OUTPUT})
-
-## TODO: not use a shell script... it breaks 'make'
-add_custom_command(
- OUTPUT ${JAVA_OUTPUTS}
- DEPENDS jismrmrd "${CMAKE_CURRENT_BINARY_DIR}/make_jar.sh"
- VERBATIM
- COMMENT "Compiling java files, building jar, generating API docs"
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/JNILibLoader.java
- ${CMAKE_CURRENT_BINARY_DIR}/org/ismrm/ismrmrd/
- COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/org/ismrm/ismrmrd/xmlhdr
- COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/XMLString.java
- ${CMAKE_CURRENT_BINARY_DIR}/org/ismrm/ismrmrd/xmlhdr/
- COMMAND sh make_jar.sh
- COMMAND javadoc -quiet -d ${JAVADOC_OUTPUT} -subpackages org.ismrm.ismrmrd.xmlhdr
-)
-add_custom_target(ismrmrdjar ALL DEPENDS ${JAVA_OUTPUTS})
-
-install(TARGETS jismrmrd
- DESTINATION ${ISMRMRD_INSTALL_JAVA_DIR})
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/ismrmrd.jar
- DESTINATION ${ISMRMRD_INSTALL_JAVA_DIR})
-
-# Note: the API documentation is only for the XML header, and is installed
-# in ${INSTALL_PREFIX}/matlab/doc
-install(DIRECTORY ${JAVADOC_OUTPUT}
- DESTINATION ${ISMRMRD_INSTALL_MATLAB_DIR})
diff --git a/bindings/java/JNILibLoader.java b/bindings/java/JNILibLoader.java
deleted file mode 100644
index 9810e01..0000000
--- a/bindings/java/JNILibLoader.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.ismrm.ismrmrd;
-
-import java.io.File;
-
-
-public class JNILibLoader {
- public static void load() throws java.net.URISyntaxException {
- File myjar = new File(JNILibLoader.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath());
- File windowsLibDir = new File(myjar.getParent(), "jismrmrd.dll");
- File macLibDir = new File(myjar.getParent(), "libjismrmrd.jnilib");
- File unixLibDir = new File(myjar.getParent(), "libjismrmrd.so");
-
- // TODO: check OS name then load the correct library
- if (unixLibDir.exists()) {
- System.load(unixLibDir.getPath());
- } else if (windowsLibDir.exists()) {
- System.load(windowsLibDir.getPath());
- } else if (macLibDir.exists()) {
- System.load(macLibDir.getPath());
- } else {
- System.err.println("Failed to load ISMRMRD JNI library");
- }
-
- //ClassLoader loader = JNILibLoader.class.getClassLoader();
- //System.out.println(loader.getResource("org/ismrm/ismrmrd/JNILibLoader.class").toURI().getPath());
- //System.load(JNIFile);
- //System.load("/usr/local/ismrmrd/lib/libjismrmrd.jnilib");
- //System.loadLibrary("jismrmrd");
- }
-}
-
-
-
-
diff --git a/bindings/java/XMLString.java b/bindings/java/XMLString.java
deleted file mode 100644
index 8038712..0000000
--- a/bindings/java/XMLString.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.ismrm.ismrmrd.xmlhdr;
-
-import javax.xml.bind.*;
-import javax.xml.namespace.QName;
-import javax.xml.transform.stream.*;
-import java.io.StringReader;
-import java.io.StringWriter;
-
-
-public class XMLString {
- public static IsmrmrdHeader StringToIsmrmrdHeader(String xmlstring) throws javax.xml.bind.JAXBException
- {
- JAXBContext jaxbContext = JAXBContext.newInstance(IsmrmrdHeader.class);
-
- Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
-
- StringReader reader = new StringReader(xmlstring);
-
- JAXBElement<IsmrmrdHeader> root = unmarshaller.unmarshal(new StreamSource(reader), IsmrmrdHeader.class);
-
- return root.getValue();
- }
-
- public static String IsmrmrdHeaderToString(IsmrmrdHeader header) throws javax.xml.bind.JAXBException
- {
- JAXBContext jaxbContext = JAXBContext.newInstance(IsmrmrdHeader.class);
-
- Marshaller marshaller = jaxbContext.createMarshaller();
-
- marshaller.setProperty(Marshaller.JAXB_SCHEMA_LOCATION, "http://www.ismrm.org/ISMRMRD ismrmrd.xsd");
- marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
-
- StringWriter writer = new StringWriter();
-
- QName qname = new QName("http://www.ismrm.org/ISMRMRD", "ismrmrdHeader");
- JAXBElement<IsmrmrdHeader> root = new JAXBElement(qname, IsmrmrdHeader.class, header);
-
- marshaller.marshal(root, writer);
-
- return writer.toString();
- }
-}
diff --git a/bindings/java/cfg.jxb b/bindings/java/cfg.jxb
deleted file mode 100644
index c7d574f..0000000
--- a/bindings/java/cfg.jxb
+++ /dev/null
@@ -1,10 +0,0 @@
-<jxb:bindings version="1.0"
- xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
- jxb:extensionBindingPrefixes="xjc">
- <jxb:bindings>
- <jxb:globalBindings localScoping="toplevel">
- </jxb:globalBindings>
- </jxb:bindings>
-</jxb:bindings>
diff --git a/bindings/java/ismrmrd_java.i b/bindings/java/ismrmrd_java.i
deleted file mode 100644
index a2f0019..0000000
--- a/bindings/java/ismrmrd_java.i
+++ /dev/null
@@ -1,780 +0,0 @@
-//
-// The ismrmrd module
-//
-%module ismrmrd
-
-//
-// The includes and definitions
-// not processed by SWIG
-//
-%{
-
-// The main ismrmrd header stuff including files
-#include "ismrmrd_hdf5.h"
-
-// The JNI includes and env functions
-#include "jni.h"
-
-static JavaVM *cached_jvm = 0;
-
-JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved) {
- cached_jvm = jvm;
- return JNI_VERSION_1_2;
-}
-
-static JNIEnv * JNU_GetEnv() {
- JNIEnv *env;
- jint rc = cached_jvm->GetEnv((void **)&env, JNI_VERSION_1_2);
- if (rc == JNI_EDETACHED)
- throw std::runtime_error("current thread not attached");
- if (rc == JNI_EVERSION)
- throw std::runtime_error("jni version not supported");
- return env;
-}
-
-// typedef for complex numbers
-typedef std::complex<float> cxfloat;
-typedef std::complex<double> cxdouble;
-
-%}
-
-//
-// Use some of the stock swig.i files
-//
-%include "stdint.i"
-%include "std_string.i"
-
-// We have a std::vector<unsigned int> in the NDArrayContainer
-%include "std_vector.i"
-%template(vector_uint) std::vector<unsigned int>;
-
-// We have arrays of fixed size in the EncodingCounters,
-// the AcquisitionHeader and the ImageHeader structs.
-// They are of type float, int16_t, uint32_t.
-// This way of wrapping seems to do a nice job of handling these
-// arrays in a "Java/Matlab" like way.
-%include "arrays_java.i"
-%apply float[] {float *};
-%apply int16_t[] {int16_t *};
-%apply uint32_t[] {uint32_t *};
-
-%ignore *::operator=;
-%ignore *::operator[];
-
-//
-// Define some extra methods for serializing and deserializing the header structures
-//
-%inline {
- jbyteArray acquisitionHeaderToJBytes(ISMRMRD::AcquisitionHeader* acqhdr) {
- JNIEnv *env = JNU_GetEnv();
- jbyteArray arr = env->NewByteArray(sizeof(ISMRMRD::AcquisitionHeader));
- char* tmp = reinterpret_cast<char*>(acqhdr);
- if (arr != NULL) {
- jbyte *ptr = env->GetByteArrayElements(arr, NULL);
- jint i;
- for (i = 0; i < sizeof(ISMRMRD::AcquisitionHeader); i++) {
- ptr[i] = tmp[i];
- }
- env->ReleaseByteArrayElements(arr, ptr, JNI_COMMIT);
- }
- return arr;
- }
-
- jbyteArray imageHeaderToJBytes(ISMRMRD::ImageHeader* acqhdr) {
- JNIEnv *env = JNU_GetEnv();
- jbyteArray arr = env->NewByteArray(sizeof(ISMRMRD::ImageHeader));
- char* tmp = reinterpret_cast<char*>(acqhdr);
- if (arr != NULL) {
- jbyte *ptr = env->GetByteArrayElements(arr, NULL);
- jint i;
- for (i = 0; i < sizeof(ISMRMRD::ImageHeader); i++) {
- ptr[i] = tmp[i];
- }
- env->ReleaseByteArrayElements(arr, ptr, JNI_COMMIT);
- }
- return arr;
- }
-
- void copyJBytesToAcquisitionHeader(jbyteArray arr, ISMRMRD::AcquisitionHeader* acqhdr) {
- JNIEnv *env = JNU_GetEnv();
- jbyte *ptr = env->GetByteArrayElements(arr, NULL);
- memcpy(acqhdr, ptr, sizeof(ISMRMRD::AcquisitionHeader));
- env->ReleaseByteArrayElements(arr, ptr, JNI_COMMIT);
- }
-
- void copyJBytesToImageHeader(jbyteArray arr, ISMRMRD::ImageHeader* imghdr) {
- JNIEnv *env = JNU_GetEnv();
- jbyte *ptr = env->GetByteArrayElements(arr, NULL);
- memcpy(imghdr, ptr, sizeof(ISMRMRD::ImageHeader));
- env->ReleaseByteArrayElements(arr, ptr, JNI_COMMIT);
- }
-
-}
-
-//
-// The Overrides
-//
-
-//
-// Acquisition
-//
-%extend ISMRMRD::Acquisition {
-
- jfloatArray getData() {
- JNIEnv *env = JNU_GetEnv();
- uint32_t nelem = 2*$self->getActiveChannels()*$self->getNumberOfSamples();
- jfloatArray arr = env->NewFloatArray(nelem);
- if (arr != NULL) {
- float *ptr = env->GetFloatArrayElements(arr, NULL);
- jint i;
- for (i = 0; i < nelem; i++) {
- ptr[i] = (*$self)[i];
- }
- env->ReleaseFloatArrayElements(arr, ptr, JNI_COMMIT);
- }
- return arr;
- }
-
- void setData(jfloatArray arr) {
- // Get the environment
- JNIEnv *env = JNU_GetEnv();
- // Get the size of the input array and a pointer to it
- jsize len = env->GetArrayLength(arr);
- float *ptr = env->GetFloatArrayElements(arr, NULL);
- // TODO: make sure that the user has set the proper size.
- for (jint i = 0; i < len; i++) {
- (*$self)[i] = ptr[i];
- }
- env->ReleaseFloatArrayElements(arr, ptr, JNI_COMMIT);
- }
-
- jfloatArray getTraj() {
- JNIEnv *env = JNU_GetEnv();
- uint32_t nelem = $self->getTrajectoryDimensions()*$self->getNumberOfSamples();
- jfloatArray arr = env->NewFloatArray(nelem);
- if (arr != NULL) {
- float *ptr = env->GetFloatArrayElements(arr, NULL);
- jint i;
- for (i = 0; i < nelem; i++) {
- ptr[i] = $self->getTraj()[i];
- }
- env->ReleaseFloatArrayElements(arr, ptr, JNI_COMMIT);
- }
- return arr;
- }
-
- void setTraj(jfloatArray arr) {
- // Get the environment
- JNIEnv *env = JNU_GetEnv();
- // Get the size of the input array and a pointer to it
- jsize len = env->GetArrayLength(arr);
- float *ptr = env->GetFloatArrayElements(arr, NULL);
- std::valarray<float> tmp(ptr,len);
- // TODO: make sure that the user has set the proper size.
- $self->setTraj(tmp);
- env->ReleaseFloatArrayElements(arr, ptr, JNI_COMMIT);
- }
-}
-%ignore ISMRMRD::Acquisition::getData;
-%ignore ISMRMRD::Acquisition::setData;
-%ignore ISMRMRD::Acquisition::getTraj;
-%ignore ISMRMRD::Acquisition::setTraj;
-
-//
-// The Image and NDContainerArray classes are overloaded
-// so we need to do some renaming
-//
-%rename(Image_ushort_getData) Image<unsigned short int>::getData;
-%rename(Image_ushort_setData) Image<unsigned short int>::setData;
-%rename(Image_float_getData) Image<float>::getData;
-%rename(Image_float_setData) Image<float>::setData;
-%rename(Image_double_getData) Image<double>::getData;
-%rename(Image_double_setData) Image<double>::setData;
-%rename(Image_cxfloat_getData) Image<cxfloat>::getData;
-%rename(Image_cxfloat_setData) Image<cxfloat>::setData;
-%rename(Image_cxdouble_getData) Image<cxdouble>::getData;
-%rename(Image_cxdouble_setData) Image<cxdouble>::setData;
-
-%rename(Array_ushort_getData) NDArrayContainer<unsigned short int>::getData;
-%rename(Array_ushort_setData) NDArrayContainer<unsigned short int>::setData;
-%rename(Array_float_getData) NDArrayContainer<float>::getData;
-%rename(Array_float_setData) NDArrayContainer<float>::setData;
-%rename(Array_double_getData) NDArrayContainer<double>::getData;
-%rename(Array_double_setData) NDArrayContainer<double>::setData;
-%rename(Array_cxfloat_getData) NDArrayContainer<cxfloat>::getData;
-%rename(Array_cxfloat_setData) NDArrayContainer<cxfloat>::setData;
-%rename(Array_cxdouble_getData) NDArrayContainer<cxdouble>::getData;
-%rename(Array_cxdouble_setData) NDArrayContainer<cxdouble>::setData;
-
-//
-// Image<ushort>
-//
-%extend ISMRMRD::Image<unsigned short int> {
-
- jcharArray getData() {
- JNIEnv *env = JNU_GetEnv();
- jcharArray arr = env->NewCharArray($self->getNumberOfElements());
- if (arr != NULL) {
- unsigned short int *ptr = env->GetCharArrayElements(arr, NULL);
- for (jint i = 0; i < $self->getNumberOfElements(); i++) {
- ptr[i] = (*$self)[i];
- }
- env->ReleaseCharArrayElements(arr, ptr, JNI_COMMIT);
- }
- return arr;
- }
-
- void setData(jcharArray arr) {
- // Get the environment
- JNIEnv *env = JNU_GetEnv();
- // Get the size of the input array and a pointer to it
- jsize len = env->GetArrayLength(arr);
- unsigned short int *ptr = env->GetCharArrayElements(arr, NULL);
- // TODO: make sure that the user has set the proper size.
- for (jint i = 0; i < len; i++) {
- (*$self)[i] = ptr[i];
- }
- env->ReleaseCharArrayElements(arr, ptr, JNI_COMMIT);
- }
-
-}
-%ignore ISMRMRD::Image<unsigned short int>::getData;
-%ignore ISMRMRD::Image<unsigned short int>::setData;
-
-//
-// Image<float>
-//
-%extend ISMRMRD::Image<float> {
-
- jfloatArray getData() {
- JNIEnv *env = JNU_GetEnv();
- jfloatArray arr = env->NewFloatArray($self->getNumberOfElements());
- if (arr != NULL) {
- float *ptr = env->GetFloatArrayElements(arr, NULL);
- for (jint i = 0; i < $self->getNumberOfElements(); i++) {
- ptr[i] = (*$self)[i];
- }
- env->ReleaseFloatArrayElements(arr, ptr, JNI_COMMIT);
- }
- return arr;
- }
-
- void setData(jfloatArray arr) {
- // Get the environment
- JNIEnv *env = JNU_GetEnv();
- // Get the size of the input array and a pointer to it
- jsize len = env->GetArrayLength(arr);
- float *ptr = env->GetFloatArrayElements(arr, NULL);
- // TODO: make sure that the user has already set the proper size.
- for (jint i = 0; i < len; i++) {
- (*$self)[i] = ptr[i];
- }
- env->ReleaseFloatArrayElements(arr, ptr, JNI_COMMIT);
- }
-
-}
-%ignore ISMRMRD::Image<float>::getData;
-%ignore ISMRMRD::Image<float>::setData;
-
-//
-// Image<double>
-//
-%extend ISMRMRD::Image<double> {
-
- jdoubleArray getData() {
- JNIEnv *env = JNU_GetEnv();
- jdoubleArray arr = env->NewDoubleArray($self->getNumberOfElements());
- if (arr != NULL) {
- double *ptr = env->GetDoubleArrayElements(arr, NULL);
- for (jint i = 0; i < $self->getNumberOfElements(); i++) {
- ptr[i] = (*$self)[i];
- }
- env->ReleaseDoubleArrayElements(arr, ptr, JNI_COMMIT);
- }
- return arr;
- }
-
- void setData(jdoubleArray arr) {
- // Get the environment
- JNIEnv *env = JNU_GetEnv();
- // Get the size of the input array and a pointer to it
- jsize len = env->GetArrayLength(arr);
- double *ptr = env->GetDoubleArrayElements(arr, NULL);
- // TODO: make sure that the user has set the proper size.
- for (jint i = 0; i < len; i++) {
- (*$self)[i] = ptr[i];
- }
- env->ReleaseDoubleArrayElements(arr, ptr, JNI_COMMIT);
- }
-
-}
-%ignore ISMRMRD::Image<double>::getData;
-%ignore ISMRMRD::Image<double>::setData;
-
-//
-// Image<cxfloat>
-//
-%extend ISMRMRD::Image<cxfloat> {
-
- jfloatArray getData() {
- JNIEnv *env = JNU_GetEnv();
- jfloatArray arr = env->NewFloatArray(2*$self->getNumberOfElements());
- if (arr != NULL) {
- float *ptr = env->GetFloatArrayElements(arr, NULL);
- for (jint i = 0; i < $self->getNumberOfElements(); i++) {
- ptr[2*i] = (*self)[i].real();
- ptr[2*i+1] = (*self)[i].imag();
- }
- env->ReleaseFloatArrayElements(arr, ptr, JNI_COMMIT);
- }
- return arr;
- }
-
- void setData(jfloatArray arr) {
- // Get the environment
- JNIEnv *env = JNU_GetEnv();
- // Get the size of the input array and a pointer to it
- jsize len = env->GetArrayLength(arr)/2;
- float *ptr = env->GetFloatArrayElements(arr, NULL);
- // TODO: make sure that the user has set the proper size.
- for (jint i = 0; i < len; i++) {
- (*$self)[i] = cxfloat(ptr[2*i],ptr[2*i+1]);
- }
- env->ReleaseFloatArrayElements(arr, ptr, JNI_COMMIT);
- }
-
-}
-%ignore ISMRMRD::Image<cxfloat>::getData;
-%ignore ISMRMRD::Image<cxfloat>::setData;
-
-//
-// Image<cxdouble>
-//
-%extend ISMRMRD::Image<cxdouble> {
-
- jdoubleArray getData() {
- JNIEnv *env = JNU_GetEnv();
- jdoubleArray arr = env->NewDoubleArray(2*$self->getNumberOfElements());
- if (arr != NULL) {
- double *ptr = env->GetDoubleArrayElements(arr, NULL);
- for (jint i = 0; i < $self->getNumberOfElements(); i++) {
- ptr[2*i] = (*$self)[i].real();
- ptr[2*i+1] = (*$self)[i].imag();
- }
- env->ReleaseDoubleArrayElements(arr, ptr, JNI_COMMIT);
- }
- return arr;
- }
-
- void setData(jdoubleArray arr) {
- // Get the environment
- JNIEnv *env = JNU_GetEnv();
- // Get the size of the input array and a pointer to it
- jsize len = env->GetArrayLength(arr)/2;
- double *ptr = env->GetDoubleArrayElements(arr, NULL);
- // TODO: make sure that the user has set the proper size.
- for (jint i = 0; i < len; i++) {
- (*$self)[i] = cxdouble(ptr[2*i],ptr[2*i+1]);
- }
- env->ReleaseDoubleArrayElements(arr, ptr, JNI_COMMIT);
- }
-
-}
-%ignore ISMRMRD::Image<cxdouble>::getData;
-%ignore ISMRMRD::Image<cxdouble>::setData;
-
-//
-// NDArrayContainer<ushort>
-//
-%extend ISMRMRD::NDArrayContainer<unsigned short int> {
-
- jcharArray getData() {
- JNIEnv *env = JNU_GetEnv();
- jcharArray arr = env->NewCharArray($self->elements());
- if (arr != NULL) {
- unsigned short int *ptr = env->GetCharArrayElements(arr, NULL);
- for (jint i = 0; i < $self->elements(); i++) {
- ptr[i] = $self->data_[i];
- }
- env->ReleaseCharArrayElements(arr, ptr, JNI_COMMIT);
- }
- return arr;
- }
-
- void setData(jcharArray arr) {
- // Get the environment
- JNIEnv *env = JNU_GetEnv();
- // Get the size of the input array and a pointer to it
- jsize len = env->GetArrayLength(arr);
- unsigned short int *ptr = env->GetCharArrayElements(arr, NULL);
- // TODO: make sure that the user has set the proper size.
- for (jint i = 0; i < len; i++) {
- (*self)[i] = ptr[i];
- }
- env->ReleaseCharArrayElements(arr, ptr, JNI_COMMIT);
- }
-
-}
-%ignore ISMRMRD::NDArrayContainer<unsigned short int>::getData;
-%ignore ISMRMRD::NDArrayContainer<unsigned short int>::setData;
-
-//
-// NDArrayContainer<float>
-//
-%extend ISMRMRD::NDArrayContainer<float> {
-
- jfloatArray getData() {
- JNIEnv *env = JNU_GetEnv();
- jfloatArray arr = env->NewFloatArray($self->elements());
- if (arr != NULL) {
- float *ptr = env->GetFloatArrayElements(arr, NULL);
- for (jint i = 0; i < $self->elements(); i++) {
- ptr[i] = $self->data_[i];
- }
- env->ReleaseFloatArrayElements(arr, ptr, JNI_COMMIT);
- }
- return arr;
- }
-
- void setData(jfloatArray arr) {
- // Get the environment
- JNIEnv *env = JNU_GetEnv();
- // Get the size of the input array and a pointer to it
- jsize len = env->GetArrayLength(arr);
- float *ptr = env->GetFloatArrayElements(arr, NULL);
- // TODO: make sure that the user has set the proper size.
- for (jint i = 0; i < len; i++) {
- (*$self)[i] = ptr[i];
- }
- env->ReleaseFloatArrayElements(arr, ptr, JNI_COMMIT);
- }
-
-}
-%ignore ISMRMRD::NDArrayContainer<float>::getData;
-%ignore ISMRMRD::NDArrayContainer<float>::setData;
-
-//
-// NDArrayContainer<double>
-//
-%extend ISMRMRD::NDArrayContainer<double> {
-
- jdoubleArray getData() {
- JNIEnv *env = JNU_GetEnv();
- jdoubleArray arr = env->NewDoubleArray($self->elements());
- if (arr != NULL) {
- double *ptr = env->GetDoubleArrayElements(arr, NULL);
- for (jint i = 0; i < $self->elements(); i++) {
- ptr[i] = $self->data_[i];
- }
- env->ReleaseDoubleArrayElements(arr, ptr, JNI_COMMIT);
- }
- return arr;
- }
-
- void setData(jdoubleArray arr) {
- // Get the environment
- JNIEnv *env = JNU_GetEnv();
- // Get the size of the input array and a pointer to it
- jsize len = env->GetArrayLength(arr);
- double *ptr = env->GetDoubleArrayElements(arr, NULL);
- // TODO: make sure that the user has set the proper size.
- for (jint i = 0; i < len; i++) {
- (*self)[i] = ptr[i];
- }
- env->ReleaseDoubleArrayElements(arr, ptr, JNI_COMMIT);
- }
-
-}
-%ignore ISMRMRD::NDArrayContainer<double>::getData;
-%ignore ISMRMRD::NDArrayContainer<double>::setData;
-
-//
-// NDArrayContainer<cxfloat>
-//
-%extend ISMRMRD::NDArrayContainer<cxfloat> {
-
- jfloatArray getData() {
- JNIEnv *env = JNU_GetEnv();
- jfloatArray arr = env->NewFloatArray(2*($self->elements()));
- if (arr != NULL) {
- float *ptr = env->GetFloatArrayElements(arr, NULL);
- for (jint i = 0; i < $self->elements(); i++) {
- ptr[2*i] = $self->data_[i].real();
- ptr[2*i+1] = $self->data_[i].imag();
- }
- env->ReleaseFloatArrayElements(arr, ptr, JNI_COMMIT);
- }
- return arr;
- }
-
- void setData(jfloatArray arr) {
- // Get the environment
- JNIEnv *env = JNU_GetEnv();
- // Get the size of the input array and a pointer to it
- jsize len = env->GetArrayLength(arr)/2;
- float *ptr = env->GetFloatArrayElements(arr, NULL);
- // TODO: make sure that the user has set the proper size.
- for (jint i = 0; i < len; i++) {
- (*$self)[i] = cxfloat(ptr[2*i],ptr[2*i+1]);
- }
- env->ReleaseFloatArrayElements(arr, ptr, JNI_COMMIT);
- }
-
-}
-%ignore ISMRMRD::NDArrayContainer<cxfloat>::getData;
-%ignore ISMRMRD::NDArrayContainer<cxfloat>::setData;
-
-//
-// NDArrayContainer<cxdouble>
-//
-%extend ISMRMRD::NDArrayContainer<cxdouble> {
-
- jdoubleArray getData() {
- JNIEnv *env = JNU_GetEnv();
- jdoubleArray arr = env->NewDoubleArray(2*($self->elements()));
- if (arr != NULL) {
- double *ptr = env->GetDoubleArrayElements(arr, NULL);
- for (jint i = 0; i < $self->elements(); i++) {
- ptr[2*i] = $self->data_[i].real();
- ptr[2*i+1] = $self->data_[i].imag();
- }
- env->ReleaseDoubleArrayElements(arr, ptr, JNI_COMMIT);
- }
- return arr;
- }
-
- void setData(jdoubleArray arr) {
- // Get the environment
- JNIEnv *env = JNU_GetEnv();
- // Get the size of the input array and a pointer to it
- jsize len = env->GetArrayLength(arr)/2;
- double *ptr = env->GetDoubleArrayElements(arr, NULL);
- // TODO: make sure that the user has set the proper size.
- for (jint i = 0; i < len; i++) {
- (*$self)[i] = cxdouble(ptr[2*i],ptr[2*i+1]);
- }
- env->ReleaseDoubleArrayElements(arr, ptr, JNI_COMMIT);
- }
-
-}
-%ignore ISMRMRD::NDArrayContainer<cxdouble>::getData;
-%ignore ISMRMRD::NDArrayContainer<cxdouble>::setData;
-
-//
-// IsmrmrdDataset
-//
-%rename(readImage_ushort) readImage<unsigned short int>;
-%rename(readImage_float) readImage<float>;
-%rename(readImage_double) readImage<double>;
-%rename(readImage_cxfloat) readImage<cxfloat>;
-%rename(readImage_cxdouble) readImage<cxdouble>;
-
-%rename(readArray_ushort) readArray<unsigned short int>;
-%rename(readArray_float) readArray<float>;
-%rename(readArray_double) readArray<double>;
-%rename(readArray_cxfloat) readArray<cxfloat>;
-%rename(readArray_cxdouble) readArray<cxdouble>;
-
-//%rename(appendImage_float) appendImage<float>;
-//%rename(appendImage_double) appendImage<double>;
-//%rename(appendImage_cxfloat) appendImage<cxfloat>;
-//%rename(appendImage_cxdouble) appendImage<cxdouble>;
-
-//%rename(appendArray_ushort) appendArray<unsigned short int>;
-//%rename(appendArray_float) appendArray<float>;
-//%rename(appendArray_double) appendArray<double>;
-//%rename(appendArray_cxfloat) appendArray<cxfloat>;
-//%rename(appendArray_cxdouble) appendArray<cxdouble>;
-
-%extend ISMRMRD::IsmrmrdDataset {
- std::string readHeader() {
- boost::shared_ptr<std::string> hdr = $self->readHeader();
- return *(hdr.get());
- }
-
- ISMRMRD::Acquisition* readAcquisition(unsigned long index = 0) {
- ISMRMRD::Acquisition* acq = new ISMRMRD::Acquisition(*$self->readAcquisition(index).get());
- return acq;
- }
-
- ISMRMRD::ImageHeader* readImageHeader(const char* varname, unsigned long index = 0) {
- ISMRMRD::ImageHeader* imghdr = new ISMRMRD::ImageHeader(*$self->readImageHeader(varname,index).get());
- return imghdr;
- }
-
- // Image
- ISMRMRD::Image<float>* readImage<float>(const char* varname, unsigned long index = 0) {
- ISMRMRD::Image<float>* img = new ISMRMRD::Image<float>(*$self->readImage<float>(varname,index).get());
- return img;
- }
-
- ISMRMRD::Image<double>* readImage<double>(const char* varname, unsigned long index = 0) {
- ISMRMRD::Image<double>* img = new ISMRMRD::Image<double>(*$self->readImage<double>(varname,index).get());
- return img;
- }
-
- ISMRMRD::Image<unsigned short int>* readImage<unsigned short>(const char* varname, unsigned long index = 0) {
- ISMRMRD::Image<unsigned short>* img = new ISMRMRD::Image<unsigned short>(*$self->readImage<unsigned short>(varname,index).get());
- return img;
- }
-
- ISMRMRD::Image<cxfloat>* readImage<cxfloat>(const char* varname, unsigned long index = 0) {
- ISMRMRD::Image< cxfloat >* img = new ISMRMRD::Image< cxfloat >(*$self->readImage< cxfloat >(varname,index).get());
- return img;
- }
-
- ISMRMRD::Image<cxdouble>* readImage<cxdouble>(const char* varname, unsigned long index = 0) {
- ISMRMRD::Image<cxdouble>* img = new ISMRMRD::Image<cxdouble>(*$self->readImage<cxdouble>(varname,index).get());
- return img;
- }
-
- // NDArray
- ISMRMRD::NDArrayContainer<float>* readArray<float>(const char* varname, unsigned long index = 0) {
- boost::shared_ptr< ISMRMRD::NDArrayContainer<float> > tmp = $self->readArray<float>(varname,index);
- ISMRMRD::NDArrayContainer<float>* img = new ISMRMRD::NDArrayContainer<float>(tmp->dimensions_, tmp->data_);
- return img;
- }
-
- ISMRMRD::NDArrayContainer<double>* readArray<double>(const char* varname, unsigned long index = 0) {
- boost::shared_ptr< ISMRMRD::NDArrayContainer<double> > tmp = $self->readArray<double>(varname,index);
- ISMRMRD::NDArrayContainer<double>* img = new ISMRMRD::NDArrayContainer<double>(tmp->dimensions_, tmp->data_);
- return img;
- }
-
- ISMRMRD::NDArrayContainer<unsigned short>* readArray<unsigned short>(const char* varname, unsigned long index = 0) {
- boost::shared_ptr< ISMRMRD::NDArrayContainer<unsigned short> > tmp = $self->readArray<unsigned short>(varname,index);
- ISMRMRD::NDArrayContainer<unsigned short>* img = new ISMRMRD::NDArrayContainer<unsigned short>(tmp->dimensions_, tmp->data_);
- return img;
- }
-
- ISMRMRD::NDArrayContainer< cxfloat >* readArray< cxfloat >(const char* varname, unsigned long index = 0) {
- boost::shared_ptr< ISMRMRD::NDArrayContainer<cxfloat> > tmp = $self->readArray< cxfloat >(varname,index);
- ISMRMRD::NDArrayContainer<cxfloat>* img = new ISMRMRD::NDArrayContainer< cxfloat >(tmp->dimensions_, tmp->data_);
- return img;
- }
-
- ISMRMRD::NDArrayContainer<cxdouble>* readArray<cxdouble>(const char* varname, unsigned long index = 0) {
- boost::shared_ptr< ISMRMRD::NDArrayContainer<cxdouble> > tmp = $self->readArray<cxdouble>(varname,index);
- ISMRMRD::NDArrayContainer<cxdouble>* img = new ISMRMRD::NDArrayContainer<cxdouble>(tmp->dimensions_, tmp->data_);
- return img;
- }
-
-}
-
-%ignore readHeader;
-%ignore readAcquisition;
-%ignore readImageHeader;
-%ignore readImage;
-%ignore readArray;
-
-//
-// The header files to process
-//
-%include "ismrmrd.h"
-
-// These defines are needed for the HDF5 stuff to work
-%define EXPORTISMRMRD %enddef
-namespace H5 {
-
-}
-
-%include "ismrmrd_hdf5.h"
-%include "ismrmrd_hdf5_datatypes.h"
-
-// Instantiate some of the overloaded objects and methods
-namespace ISMRMRD {
- // The Image and ArrayContainer types
- %template(Image_ushort) Image<unsigned short int>;
- %template(Image_float) Image<float>;
- %template(Image_double) Image<double>;
- %template(Image_cxfloat) Image<cxfloat>;
- %template(Image_cxdouble) Image<cxdouble>;
-
- %template(Array_ushort) NDArrayContainer<unsigned short int>;
- %template(Array_float) NDArrayContainer<float>;
- %template(Array_double) NDArrayContainer<double>;
- %template(Array_cxfloat) NDArrayContainer<cxfloat>;
- %template(Array_cxdouble) NDArrayContainer<cxdouble>;
-
- // The Image and ArrayContainer Append methods
- %template(appendImage_ushort) IsmrmrdDataset::appendImage<unsigned short int>;
- %template(appendImage_float) IsmrmrdDataset::appendImage<float>;
- %template(appendImage_double) IsmrmrdDataset::appendImage<double>;
- %template(appendImage_cxfloat) IsmrmrdDataset::appendImage<cxfloat>;
- %template(appendImage_cxdouble) IsmrmrdDataset::appendImage<cxdouble>;
-
- %template(appendArray_ushort) IsmrmrdDataset::appendArray<unsigned short int>;
- %template(appendArray_float) IsmrmrdDataset::appendArray<float>;
- %template(appendArray_double) IsmrmrdDataset::appendArray<double>;
- %template(appendArray_cxfloat) IsmrmrdDataset::appendArray<cxfloat>;
- %template(appendArray_cxdouble) IsmrmrdDataset::appendArray<cxdouble>;
-
-}
-
-
-// Template instantiations from ismrmrd_hdf5.cpp
-/*
-template EXPORTISMRMRD int IsmrmrdDataset::appendArray(NDArrayContainer< unsigned short int >& a,const char* varname);
-template EXPORTISMRMRD int IsmrmrdDataset::appendArray(NDArrayContainer< float >& a,const char* varname);
-template EXPORTISMRMRD int IsmrmrdDataset::appendArray(NDArrayContainer< double >& a,const char* varname);
-template EXPORTISMRMRD int IsmrmrdDataset::appendArray(NDArrayContainer< std::complex<float> >& a,const char* varname);
-template EXPORTISMRMRD int IsmrmrdDataset::appendArray(NDArrayContainer< std::complex<double> >& a,const char* varname);
-template EXPORTISMRMRD int IsmrmrdDataset::appendArray(NDArrayContainer< ImageHeader >& a,const char* varname);
-
-template EXPORTISMRMRD int IsmrmrdDataset::appendImage(Image<float>& m, const char* varname);
-template EXPORTISMRMRD int IsmrmrdDataset::appendImage(Image<double>& m, const char* varname);
-template EXPORTISMRMRD int IsmrmrdDataset::appendImage(Image<unsigned short>& m, const char* varname);
-template EXPORTISMRMRD int IsmrmrdDataset::appendImage(Image< std::complex<float> >& m, const char* varname);
-template EXPORTISMRMRD int IsmrmrdDataset::appendImage(Image< std::complex<double> >& m, const char* varname);
-
-template EXPORTISMRMRD boost::shared_ptr< Image<float> > IsmrmrdDataset::readImage(const char* varname, unsigned long index);
-template EXPORTISMRMRD boost::shared_ptr< Image<double> > IsmrmrdDataset::readImage(const char* varname, unsigned long index);
-template EXPORTISMRMRD boost::shared_ptr< Image<unsigned short> > IsmrmrdDataset::readImage(const char* varname, unsigned long index);
-template EXPORTISMRMRD boost::shared_ptr< Image< std::complex<float> > > IsmrmrdDataset::readImage(const char* varname, unsigned long index);
-template EXPORTISMRMRD boost::shared_ptr< Image< std::complex<double> > > IsmrmrdDataset::readImage(const char* varname, unsigned long index);
-
-template EXPORTISMRMRD boost::shared_ptr< NDArrayContainer<unsigned short int> > IsmrmrdDataset::readArray(const char* varname, unsigned long int index);
-template EXPORTISMRMRD boost::shared_ptr< NDArrayContainer<float> > IsmrmrdDataset::readArray(const char* varname, unsigned long int index);
-template EXPORTISMRMRD boost::shared_ptr< NDArrayContainer<double> > IsmrmrdDataset::readArray(const char* varname, unsigned long int index);
-template EXPORTISMRMRD boost::shared_ptr< NDArrayContainer< std::complex<float> > > IsmrmrdDataset::readArray(const char* varname, unsigned long int index);
-template EXPORTISMRMRD boost::shared_ptr< NDArrayContainer< std::complex<double> > > IsmrmrdDataset::readArray(const char* varname, unsigned long int index);
-
-*/
-
-// valarray typemap
-// Convert from Java to C++
-//%typemap(in) (std::valarray<float>& data) {
-// JNIEnv *env = JNU_GetEnv();
-// jsize len = env->GetArrayLength($input);
-// float *ptr = env->GetFloatArrayElements(arr, NULL);
-// std::valarray<float> data;
-// data.resize(len);
-// for (jint i = 0; i < len; i++) {
-// data[i] = ptr[i];
-// }
-// env->ReleaseFloatArrayElements(arr, ptr, JNI_COMMIT);
-// $1 = data;
-//}
-
-// Convert from C++ to Java
-//%typemap(res) (std:valarray<float>) {
-// JNIEnv *env = JNU_GetEnv();
-// jfloatArray *arr = env->NewFloatArray($1.size());
-// if (arr != NULL) {
-// float *ptr = env->GetFloatArrayElements(arr, NULL);
-// for (jint i = 0; j < $1.size(); i++) {
-// ptr[i] = $1[i];
-// }
-// env->ReleaseFloatArrayElements(arr, ptr, JNI_COMMIT);
-// }
-// $result = arr;
-//}
-
-// Apply the valarry typemaps
-//%apply (std:valarray<float>) { (std:valarray<float>) };
-//%apply (std:valarray<float>& ISMRMRD::Acquisition::getData()) {
-// (std:valarray<float>&) };
-//%apply (ISMRMRD::Acquisition::setData(std:valarray<float>& data)) {
-// (std:valarray<float>&) };
-
-
diff --git a/bindings/java/make_jar.sh.in b/bindings/java/make_jar.sh.in
deleted file mode 100755
index fa3b1a7..0000000
--- a/bindings/java/make_jar.sh.in
+++ /dev/null
@@ -1,10 +0,0 @@
-## The loader and the wrapper classes
-javac org/ismrm/ismrmrd/*.java
-
-## The XML Header classes
-# Make a class out of the schema
-xjc -p org.ismrm.ismrmrd.xmlhdr -b @CMAKE_SOURCE_DIR@/bindings/java/cfg.jxb @CMAKE_SOURCE_DIR@/schema/ismrmrd.xsd
-javac org/ismrm/ismrmrd/xmlhdr/*.java
-
-# Build a big jar
-jar -cvf ismrmrd.jar org/ismrm/ismrmrd/*.class org/ismrm/ismrmrd/xmlhdr/*.class
diff --git a/examples/java/ismrmrd_test.java b/examples/java/ismrmrd_test.java
deleted file mode 100644
index 85b9fb7..0000000
--- a/examples/java/ismrmrd_test.java
+++ /dev/null
@@ -1,55 +0,0 @@
-import org.ismrm.ismrmrd.*;
-import org.ismrm.ismrmrd.xmlhdr.*;
-
-public class ismrmrd_test {
-
- public static void main(String argv[]) {
- // Load the ISMRMRD JNI library
- try {
- JNILibLoader.load();
- }
- catch (java.net.URISyntaxException e) {
- System.err.println("JNI Library failed to load: " + e.getMessage());
- System.exit(1);
- }
-
- String filename = "";
- if (argv.length == 1) {
- filename = argv[0];
- }
- else {
- System.err.println("Give me a filename.");
- System.exit(1);
- }
-
- IsmrmrdDataset f = new IsmrmrdDataset(filename, "/dataset");
- String xmlstring = f.readHeader();
-
- System.out.println(xmlstring);
-
- IsmrmrdHeader hdr = new IsmrmrdHeader();
- try {
- hdr = XMLString.StringToIsmrmrdHeader(xmlstring);
- } catch (javax.xml.bind.JAXBException e) {
- System.err.format("XML Header could not be parsed.%n%s", e.getMessage());
- System.exit(1);
- }
-
- long freq = hdr.getExperimentalConditions().getH1ResonanceFrequencyHz();
- System.out.format("%n%n The resonance frequency is %d.%n", freq);
-
- long nacq = f.getNumberOfAcquisitions();
- System.out.format("%n%n The number of Acquisitions is %d.%n", nacq);
-
- String xmlcopy = "";
- try {
- xmlcopy = XMLString.IsmrmrdHeaderToString(hdr);
- } catch (javax.xml.bind.JAXBException e) {
- System.err.format("XML Header could not be generated.%n%s", e.getMessage());
- System.exit(1);
- }
-
- System.out.println(xmlcopy);
- }
-
-}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/ismrmrd.git
More information about the debian-science-commits
mailing list