[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