[ismrmrd] 156/281: Made changes to Java interface to expose getTraj and setTraj appropriately

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Wed Jan 14 20:01:09 UTC 2015


This is an automated email from the git hooks/post-receive script.

ghisvail-guest pushed a commit to annotated tag ismrmrd0.5
in repository ismrmrd.

commit 05ae22aab6c4189585bc587c2a417142119a02ed
Author: Michael S. Hansen <michael.hansen at nih.gov>
Date:   Mon Jul 8 21:57:10 2013 -0400

    Made changes to Java interface to expose getTraj and setTraj appropriately
---
 bindings/java/ismrmrd_java.i | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/bindings/java/ismrmrd_java.i b/bindings/java/ismrmrd_java.i
index 6d9cd7b..005c9a2 100644
--- a/bindings/java/ismrmrd_java.i
+++ b/bindings/java/ismrmrd_java.i
@@ -145,9 +145,37 @@ typedef std::complex<double> cxdouble;
         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

-- 
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