[ismrmrd] 131/281: Put in the append functions stubs. Not working quite right, but the interface is correct.

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Wed Jan 14 20:01:06 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 ae30556d94a0875a4a523a8cb37a7235d4828852
Author: Souheil Inati <souheil.inati at nih.gov>
Date:   Fri Apr 5 09:52:35 2013 -0400

    Put in the append functions stubs.  Not working quite right, but the interface is correct.
---
 bindings/java/ismrmrd_java.i | 90 +++++++++++++++++++++++---------------------
 1 file changed, 48 insertions(+), 42 deletions(-)

diff --git a/bindings/java/ismrmrd_java.i b/bindings/java/ismrmrd_java.i
index b9cc1d1..6d9cd7b 100644
--- a/bindings/java/ismrmrd_java.i
+++ b/bindings/java/ismrmrd_java.i
@@ -306,13 +306,10 @@ typedef std::complex<double> cxdouble;
 	jsize len  = env->GetArrayLength(arr)/2;
         float *ptr = env->GetFloatArrayElements(arr, NULL);
         // TODO: make sure that the user has set the proper size.
-        std::valarray <cxfloat> data;
-        data.resize(len);
         for (jint i = 0; i < len; i++) {
-            data[i] = cxfloat(ptr[2*i],ptr[2*i+1]);
+            (*$self)[i] = cxfloat(ptr[2*i],ptr[2*i+1]);
         }
         env->ReleaseFloatArrayElements(arr, ptr, JNI_COMMIT);
-	$self->setData(data);
     }
 
 }
@@ -339,19 +336,16 @@ typedef std::complex<double> cxdouble;
     }
 
     void setData(jdoubleArray arr) {
-        // Get the environment
+        // 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.
-        std::valarray <cxdouble> data;
-        data.resize(len);
         for (jint i = 0; i < len; i++) {
-            data[i] = cxdouble(ptr[2*i],ptr[2*i+1]);
+            (*$self)[i] = cxdouble(ptr[2*i],ptr[2*i+1]);
         }
         env->ReleaseDoubleArrayElements(arr, ptr, JNI_COMMIT);
-	$self->setData(data);
     }
 
 }
@@ -376,22 +370,19 @@ typedef std::complex<double> cxdouble;
         return arr;
     }
 
-/*    void setData(jcharArray 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.
-        std::valarray <unsigned short int> data;
-        data.resize(len);
         for (jint i = 0; i < len; i++) {
-            data[i] = ptr[i];
+            (*self)[i] = ptr[i];
         }
         env->ReleaseCharArrayElements(arr, ptr, JNI_COMMIT);
-	$self->setData(data);
     }
-*/
+
 }
 %ignore ISMRMRD::NDArrayContainer<unsigned short int>::getData;
 %ignore ISMRMRD::NDArrayContainer<unsigned short int>::setData;
@@ -414,22 +405,19 @@ typedef std::complex<double> cxdouble;
         return arr;
     }
 
-/*    void setData(jfloatArray 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.
-        std::valarray <float> data;
-        data.resize(len);
         for (jint i = 0; i < len; i++) {
-            data[i] = ptr[i];
+            (*$self)[i] = ptr[i];
         }
         env->ReleaseFloatArrayElements(arr, ptr, JNI_COMMIT);
-	$self->setData(data);
     }
-*/
+
 }
 %ignore ISMRMRD::NDArrayContainer<float>::getData;
 %ignore ISMRMRD::NDArrayContainer<float>::setData;
@@ -452,22 +440,19 @@ typedef std::complex<double> cxdouble;
         return arr;
     }
 
-/*    void setData(jdoubleArray 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.
-        std::valarray <double> data;
-        data.resize(len);
         for (jint i = 0; i < len; i++) {
-            data[i] = ptr[i];
+            (*self)[i] = ptr[i];
         }
         env->ReleaseDoubleArrayElements(arr, ptr, JNI_COMMIT);
-	$self->setData(data);
     }
-*/
+
 }
 %ignore ISMRMRD::NDArrayContainer<double>::getData;
 %ignore ISMRMRD::NDArrayContainer<double>::setData;
@@ -491,22 +476,19 @@ typedef std::complex<double> cxdouble;
         return arr;
     }
 
-/*    void setData(jfloatArray 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.
-        std::valarray <cxfloat> data;
-        data.resize(len);
         for (jint i = 0; i < len; i++) {
-            data[i] = cxfloat(ptr[2*i],ptr[2*i+1]);
+            (*$self)[i] = cxfloat(ptr[2*i],ptr[2*i+1]);
         }
         env->ReleaseFloatArrayElements(arr, ptr, JNI_COMMIT);
-	$self->setData(data);
     }
-*/
+
 }
 %ignore ISMRMRD::NDArrayContainer<cxfloat>::getData;
 %ignore ISMRMRD::NDArrayContainer<cxfloat>::setData;
@@ -530,22 +512,19 @@ typedef std::complex<double> cxdouble;
         return arr;
     }
 
-/*    void setData(jdoubleArray 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.
-        std::valarray <cxdouble> data;
-        data.resize(len);
         for (jint i = 0; i < len; i++) {
-            data[i] = cxdouble(ptr[2*i],ptr[2*i+1]);
+            (*$self)[i] = cxdouble(ptr[2*i],ptr[2*i+1]);
         }
         env->ReleaseDoubleArrayElements(arr, ptr, JNI_COMMIT);
-	$self->setData(data);
     }
-*/
+
 }
 %ignore ISMRMRD::NDArrayContainer<cxdouble>::getData;
 %ignore ISMRMRD::NDArrayContainer<cxdouble>::setData;
@@ -565,6 +544,17 @@ typedef std::complex<double> cxdouble;
 %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();
@@ -592,12 +582,12 @@ typedef std::complex<double> cxdouble;
         return img;
     }
 
-    ISMRMRD::Image<unsigned short>* readImage<unsigned short>(const char* varname, unsigned long index = 0) {
+    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>* 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;
     }
@@ -660,18 +650,34 @@ namespace H5 {
 %include "ismrmrd_hdf5.h"
 %include "ismrmrd_hdf5_datatypes.h"
 
-// Instantiate the Image and ArrayContainer types
+// 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>;
+
 }
 
 

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