[ismrmrd] 170/177: C++ channel mask.

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Wed Jan 14 20:02:16 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 89714407bc8028bf590f8341fa69c67b95dbb9a6
Author: Souheil Inati <souheil.inati at nih.gov>
Date:   Tue Nov 4 13:52:22 2014 -0500

    C++ channel mask.
---
 examples/c/main.c         |  1 -
 include/ismrmrd/ismrmrd.h | 20 +++++++++-----------
 libsrc/ismrmrd.c          |  2 +-
 libsrc/ismrmrd.cpp        | 23 ++++++++++++++++++-----
 4 files changed, 28 insertions(+), 18 deletions(-)

diff --git a/examples/c/main.c b/examples/c/main.c
index 892bdf2..bd01a8e 100644
--- a/examples/c/main.c
+++ b/examples/c/main.c
@@ -54,7 +54,6 @@ int main(void)
         ismrmrd_init_acquisition(&acq);
         acq.head.number_of_samples = 128;
         acq.head.active_channels = 4;
-        ismrmrd_clear_all_channels(acq.head.channel_mask);
         for (k=0; k<acq.head.active_channels; k++) {
             ismrmrd_set_channel_on(acq.head.channel_mask, k);
         }
diff --git a/include/ismrmrd/ismrmrd.h b/include/ismrmrd/ismrmrd.h
index 0d3178a..acf714a 100644
--- a/include/ismrmrd/ismrmrd.h
+++ b/include/ismrmrd/ismrmrd.h
@@ -377,7 +377,7 @@ EXPORTISMRMRD int ismrmrd_clear_all_flags(uint64_t *flags);
 EXPORTISMRMRD bool ismrmrd_is_channel_on(const uint64_t channel_mask[ISMRMRD_CHANNEL_MASKS], const uint16_t chan);
 EXPORTISMRMRD int ismrmrd_set_channel_on(uint64_t channel_mask[ISMRMRD_CHANNEL_MASKS], const uint16_t chan);
 EXPORTISMRMRD int ismrmrd_set_channel_off(uint64_t channel_mask[ISMRMRD_CHANNEL_MASKS], const uint16_t chan);
-EXPORTISMRMRD int ismrmrd_clear_all_channels(uint64_t channel_mask[ISMRMRD_CHANNEL_MASKS]);
+EXPORTISMRMRD int ismrmrd_set_all_channels_off(uint64_t channel_mask[ISMRMRD_CHANNEL_MASKS]);
 /** @} */
 
 /******************/
@@ -473,11 +473,10 @@ public:
     void clearAllFlags();
 
     // Channel mask methods
-    // TODO: need to add the functionality for these
-    //bool isChannelActive(uint16_t channel_id);
-    //void setChannelActive(uint16_t channel_id);
-    //void setChannelNotActive(uint16_t channel_id);
-    //void setAllChannelsNotActive();
+    bool isChannelActive(uint16_t channel_id);
+    void setChannelActive(uint16_t channel_id);
+    void setChannelNotActive(uint16_t channel_id);
+    void setAllChannelsNotActive();
 
 };
 
@@ -536,11 +535,10 @@ public:
     void clearAllFlags();
 
     // Channel mask methods
-    // TODO: need to add the functionality for these
-    //bool isChannelActive(uint16_t channel_id);
-    //void setChannelActive(uint16_t channel_id);
-    //void setChannelNotActive(uint16_t channel_id);
-    //void setAllChannelsNotActive();
+    bool isChannelActive(uint16_t channel_id);
+    void setChannelActive(uint16_t channel_id);
+    void setChannelNotActive(uint16_t channel_id);
+    void setAllChannelsNotActive();
 
 };
 
diff --git a/libsrc/ismrmrd.c b/libsrc/ismrmrd.c
index e8b7905..faa8ef7 100644
--- a/libsrc/ismrmrd.c
+++ b/libsrc/ismrmrd.c
@@ -548,7 +548,7 @@ int ismrmrd_set_channel_off(uint64_t channel_mask[ISMRMRD_CHANNEL_MASKS], const
     return ISMRMRD_NOERROR;
 }
     
-int ismrmrd_clear_all_channels(uint64_t channel_mask[ISMRMRD_CHANNEL_MASKS]) {
+int ismrmrd_set_all_channels_off(uint64_t channel_mask[ISMRMRD_CHANNEL_MASKS]) {
     size_t offset;
     if (channel_mask==NULL) {
         return ISMRMRD_PUSH_ERR(ISMRMRD_RUNTIMEERROR, "Pointer to channel_mask should not be NULL.");
diff --git a/libsrc/ismrmrd.cpp b/libsrc/ismrmrd.cpp
index 6cda6f3..200598a 100644
--- a/libsrc/ismrmrd.cpp
+++ b/libsrc/ismrmrd.cpp
@@ -236,18 +236,31 @@ float * Acquisition::getTraj() {
 // Flag methods
 bool Acquisition::isFlagSet(const uint64_t val) {
     return ismrmrd_is_flag_set(head.flags, val);
-};
+}
 void Acquisition::setFlag(const uint64_t val) {
     ismrmrd_set_flag(&head.flags, val);
-};
+}
 void Acquisition::clearFlag(const uint64_t val) {
     ismrmrd_clear_flag(&head.flags, val);
-};
+}
 void Acquisition::clearAllFlags() {
     ismrmrd_clear_all_flags(&head.flags);
-};
+}
+
+// Channel mask methods
+bool Acquisition::isChannelActive(uint16_t channel_id) {
+    return ismrmrd_is_channel_on(head.channel_mask, channel_id);
+}
+void Acquisition::setChannelActive(uint16_t channel_id) {
+    ismrmrd_set_channel_on(head.channel_mask, channel_id);
+}
+void Acquisition::setChannelNotActive(uint16_t channel_id) {
+    ismrmrd_set_channel_off(head.channel_mask, channel_id);
+}
+void Acquisition::setAllChannelsNotActive() {
+    ismrmrd_set_all_channels_off(head.channel_mask);
+}
 
-// TODO: Channel mask methods go here
 
 //
 // ImageHeader class Implementation

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