[med-svn] [aghermann] 33/60: unify the three artifact detection algorithms (part 3/4)

andrei zavada hmmr-guest at alioth.debian.org
Mon Nov 4 23:49:57 UTC 2013


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

hmmr-guest pushed a commit to branch WIP
in repository aghermann.

commit fbc4a1d3fd45b53b31b0dfd0e7ab3d7e01e5b244
Author: Andrei Zavada <johnhommer at gmail.com>
Date:   Sat Oct 19 01:36:28 2013 +0300

    unify the three artifact detection algorithms (part 3/4)
---
 upstream/data/sf-artifacts.glade               |  275 +++++++++++++++---------
 upstream/src/aghermann/ui/sf/d/artifacts.cc    |   20 +-
 upstream/src/aghermann/ui/sf/d/artifacts.hh    |   16 ++
 upstream/src/aghermann/ui/sf/d/artifacts_cb.cc |   41 ++++
 4 files changed, 247 insertions(+), 105 deletions(-)

diff --git a/upstream/data/sf-artifacts.glade b/upstream/data/sf-artifacts.glade
index c75507f..3699974 100644
--- a/upstream/data/sf-artifacts.glade
+++ b/upstream/data/sf-artifacts.glade
@@ -1,12 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <!-- interface-requires gtk+ 3.0 -->
-  <object class="GtkAdjustment" id="jSFADBackpolate">
-    <property name="upper">1</property>
-    <property name="value">0.5</property>
-    <property name="step_increment">0.01</property>
-    <property name="page_increment">0.10000000000000001</property>
-  </object>
   <object class="GtkAdjustment" id="jSFADBandwidth">
     <property name="lower">0.5</property>
     <property name="upper">4</property>
@@ -14,27 +8,6 @@
     <property name="step_increment">0.25</property>
     <property name="page_increment">1</property>
   </object>
-  <object class="GtkAdjustment" id="jSFADEMGMinSteadyToneFactor">
-    <property name="lower">1.01</property>
-    <property name="upper">100</property>
-    <property name="value">1.2</property>
-    <property name="step_increment">0.01</property>
-    <property name="page_increment">0.10000000000000001</property>
-  </object>
-  <object class="GtkAdjustment" id="jSFADEMGMinSteadyToneRun">
-    <property name="lower">0.10000000000000001</property>
-    <property name="upper">10</property>
-    <property name="value">1</property>
-    <property name="step_increment">0.10000000000000001</property>
-    <property name="page_increment">1</property>
-  </object>
-  <object class="GtkAdjustment" id="jSFADEvalue">
-    <property name="lower">0.10000000000000001</property>
-    <property name="upper">40</property>
-    <property name="value">4</property>
-    <property name="step_increment">0.10000000000000001</property>
-    <property name="page_increment">1</property>
-  </object>
   <object class="GtkAdjustment" id="jSFADF0">
     <property name="lower">0.5</property>
     <property name="upper">8</property>
@@ -49,19 +22,6 @@
     <property name="step_increment">0.25</property>
     <property name="page_increment">1</property>
   </object>
-  <object class="GtkAdjustment" id="jSFADFlatMinRegionSize">
-    <property name="lower">0.050000000000000003</property>
-    <property name="upper">120</property>
-    <property name="value">0.5</property>
-    <property name="step_increment">0.050000000000000003</property>
-    <property name="page_increment">0.5</property>
-  </object>
-  <object class="GtkAdjustment" id="jSFADFlatPad">
-    <property name="upper">10</property>
-    <property name="value">0.20000000000000001</property>
-    <property name="step_increment">0.050000000000000003</property>
-    <property name="page_increment">0.5</property>
-  </object>
   <object class="GtkAdjustment" id="jSFADHistBins">
     <property name="lower">80</property>
     <property name="upper">9000</property>
@@ -102,6 +62,11 @@
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
   </object>
+  <object class="GtkAdjustment" id="jSFADSmoothSide">
+    <property name="upper">8</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">2</property>
+  </object>
   <object class="GtkAdjustment" id="jSFADUpperThr">
     <property name="lower">1</property>
     <property name="upper">30</property>
@@ -109,10 +74,45 @@
     <property name="step_increment">0.5</property>
     <property name="page_increment">2</property>
   </object>
-  <object class="GtkAdjustment" id="jSFADSmoothSide">
-    <property name="upper">8</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">2</property>
+  <object class="GtkAdjustment" id="jSFADBackpolate">
+    <property name="upper">1</property>
+    <property name="value">0.5</property>
+    <property name="step_increment">0.01</property>
+    <property name="page_increment">0.10000000000000001</property>
+  </object>
+  <object class="GtkAdjustment" id="jSFADEMGMinSteadyToneFactor">
+    <property name="lower">1.01</property>
+    <property name="upper">100</property>
+    <property name="value">1.2</property>
+    <property name="step_increment">0.01</property>
+    <property name="page_increment">0.10000000000000001</property>
+  </object>
+  <object class="GtkAdjustment" id="jSFADEMGMinSteadyToneRun">
+    <property name="lower">0.10000000000000001</property>
+    <property name="upper">10</property>
+    <property name="value">1</property>
+    <property name="step_increment">0.10000000000000001</property>
+    <property name="page_increment">1</property>
+  </object>
+  <object class="GtkAdjustment" id="jSFADEvalue">
+    <property name="lower">0.10000000000000001</property>
+    <property name="upper">40</property>
+    <property name="value">4</property>
+    <property name="step_increment">0.10000000000000001</property>
+    <property name="page_increment">1</property>
+  </object>
+  <object class="GtkAdjustment" id="jSFADFlatMinRegionSize">
+    <property name="lower">0.050000000000000003</property>
+    <property name="upper">120</property>
+    <property name="value">0.5</property>
+    <property name="step_increment">0.050000000000000003</property>
+    <property name="page_increment">0.5</property>
+  </object>
+  <object class="GtkAdjustment" id="jSFADFlatPad">
+    <property name="upper">10</property>
+    <property name="value">0.20000000000000001</property>
+    <property name="step_increment">0.050000000000000003</property>
+    <property name="page_increment">0.5</property>
   </object>
   <object class="GtkDialog" id="wSFAD">
     <property name="can_focus">False</property>
@@ -286,7 +286,7 @@
                 <property name="can_focus">True</property>
                 <property name="resize_toplevel">True</property>
                 <child>
-                  <object class="GtkGrid" id="cSFADMicrocontinuityOptions">
+                  <object class="GtkGrid" id="cSFADMCBased">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="border_width">10</property>
@@ -997,21 +997,7 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkCheckButton" id="eSFADMCBasedConsider">
-                        <property name="label" translatable="yes">Inspect every </property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="halign">end</property>
-                        <property name="xalign">0</property>
-                        <property name="draw_indicator">True</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">0</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
-                      </packing>
+                      <placeholder/>
                     </child>
                     <child>
                       <placeholder/>
@@ -1026,19 +1012,59 @@
                       <placeholder/>
                     </child>
                     <child>
-                      <placeholder/>
+                      <object class="GtkLabel" id="label1">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">Inspect every</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
                     </child>
                   </object>
                 </child>
                 <child type="label">
-                  <object class="GtkLabel" id="label1">
+                  <object class="GtkBox" id="box3">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">_1. Microcontinuity-based</property>
-                    <property name="use_underline">True</property>
-                    <attributes>
-                      <attribute name="style" value="italic"/>
-                    </attributes>
+                    <property name="spacing">2</property>
+                    <child>
+                      <object class="GtkCheckButton" id="eSFADMCBasedConsider">
+                        <property name="label" translatable="yes">_1. MC-based</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="halign">end</property>
+                        <property name="use_underline">True</property>
+                        <property name="xalign">0</property>
+                        <property name="draw_indicator">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="lSFADMCBasedSummary">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">label</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
                   </object>
                 </child>
               </object>
@@ -1056,7 +1082,7 @@
                 <property name="use_underline">True</property>
                 <property name="resize_toplevel">True</property>
                 <child>
-                  <object class="GtkTable" id="table4">
+                  <object class="GtkTable" id="cSFADFlat">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="n_rows">2</property>
@@ -1143,27 +1169,53 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkCheckButton" id="eSFADFlatConsider">
+                      <object class="GtkLabel" id="label2">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">1</property>
                         <property name="label" translatable="yes">Consider flat regions at least </property>
+                      </object>
+                    </child>
+                  </object>
+                </child>
+                <child type="label">
+                  <object class="GtkBox" id="box4">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="spacing">3</property>
+                    <child>
+                      <object class="GtkCheckButton" id="eSFADFlatConsider">
+                        <property name="label" translatable="yes">_2. Flat regions</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
                         <property name="halign">end</property>
+                        <property name="use_underline">True</property>
                         <property name="xalign">0</property>
                         <property name="draw_indicator">True</property>
                       </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="lSFADFlatSummary">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">label</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">2</property>
+                      </packing>
                     </child>
-                  </object>
-                </child>
-                <child type="label">
-                  <object class="GtkLabel" id="label2">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">_2. Flat regions</property>
-                    <property name="use_underline">True</property>
-                    <attributes>
-                      <attribute name="style" value="italic"/>
-                    </attributes>
                   </object>
                 </child>
               </object>
@@ -1181,24 +1233,13 @@
                 <property name="use_underline">True</property>
                 <property name="resize_toplevel">True</property>
                 <child>
-                  <object class="GtkTable" id="table2">
+                  <object class="GtkTable" id="cSFADEMG">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="n_rows">2</property>
                     <property name="n_columns">3</property>
                     <property name="row_spacing">10</property>
                     <child>
-                      <object class="GtkCheckButton" id="eSFADEMGConsider">
-                        <property name="label" translatable="yes">Mark artifacts where EMG is </property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="halign">end</property>
-                        <property name="xalign">0</property>
-                        <property name="draw_indicator">True</property>
-                      </object>
-                    </child>
-                    <child>
                       <object class="GtkSpinButton" id="eSFADEMGMinSteadyToneFactor">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
@@ -1279,17 +1320,55 @@
                         <property name="y_options">GTK_FILL</property>
                       </packing>
                     </child>
+                    <child>
+                      <object class="GtkLabel" id="label4">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">Mark artifacts where EMG is </property>
+                      </object>
+                    </child>
                   </object>
                 </child>
                 <child type="label">
-                  <object class="GtkLabel" id="label4">
+                  <object class="GtkBox" id="box5">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">_3. EMG perturbations</property>
-                    <property name="use_underline">True</property>
-                    <attributes>
-                      <attribute name="style" value="italic"/>
-                    </attributes>
+                    <property name="spacing">3</property>
+                    <child>
+                      <object class="GtkCheckButton" id="eSFADEMGConsider">
+                        <property name="label" translatable="yes">_3. EMG perturbations</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="halign">end</property>
+                        <property name="use_underline">True</property>
+                        <property name="xalign">0</property>
+                        <property name="draw_indicator">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="lSFADEMGSummary">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">end</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">label</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
                   </object>
                 </child>
               </object>
diff --git a/upstream/src/aghermann/ui/sf/d/artifacts.cc b/upstream/src/aghermann/ui/sf/d/artifacts.cc
index 66c0329..8051321 100644
--- a/upstream/src/aghermann/ui/sf/d/artifacts.cc
+++ b/upstream/src/aghermann/ui/sf/d/artifacts.cc
@@ -56,7 +56,9 @@ SArtifactsDialog (SScoringFacility& p_)
         AGH_GBGETOBJ (eSFADProfileSaveOriginUser);
         AGH_GBGETOBJ (bSFADProfileSaveOK);
 
+        AGH_GBGETOBJ (lSFADMCBasedSummary);
         AGH_GBGETOBJ (eSFADMCBasedConsider);
+        AGH_GBGETOBJ (cSFADMCBased);
         AGH_GBGETOBJ (eSFADScope);
         AGH_GBGETOBJ (eSFADUpperThr);
         AGH_GBGETOBJ (eSFADLowerThr);
@@ -77,11 +79,15 @@ SArtifactsDialog (SScoringFacility& p_)
         AGH_GBGETOBJ (cSFADWhenEstimateEOn);
         AGH_GBGETOBJ (cSFADWhenEstimateEOff);
 
+        AGH_GBGETOBJ (lSFADFlatSummary);
         AGH_GBGETOBJ (eSFADFlatConsider);
+        AGH_GBGETOBJ (cSFADFlat);
         AGH_GBGETOBJ (eSFADFlatMinRegionSize);
         AGH_GBGETOBJ (eSFADFlatPad);
 
+        AGH_GBGETOBJ (lSFADEMGSummary);
         AGH_GBGETOBJ (eSFADEMGConsider);
+        AGH_GBGETOBJ (cSFADEMG);
         AGH_GBGETOBJ (eSFADEMGMinSteadyToneFactor);
         AGH_GBGETOBJ (eSFADEMGMinSteadyToneRun);
 
@@ -107,19 +113,19 @@ SArtifactsDialog (SScoringFacility& p_)
         G_CONNECT_1 (bSFADProfileRevert, clicked);
         G_CONNECT_1 (bSFADProfileDiscard, clicked);
 
+        G_CONNECT_1 (eSFADMCBasedConsider, toggled);
+        G_CONNECT_1 (eSFADFlatConsider, toggled);
+        G_CONNECT_1 (eSFADEMGConsider, toggled);
+
         for ( auto& W : {eSFADUpperThr, eSFADLowerThr, eSFADScope,
                          eSFADF0, eSFADFc, eSFADBandwidth, eSFADMCGain, eSFADBackpolate, eSFADEValue,
-                         eSFADHistRangeMin, eSFADHistRangeMax, eSFADHistBins, eSFADSmoothSide} )
+                         eSFADHistRangeMin, eSFADHistRangeMax, eSFADHistBins, eSFADSmoothSide,
+                         eSFADFlatMinRegionSize, eSFADFlatPad,
+                         eSFADEMGMinSteadyToneFactor, eSFADEMGMinSteadyToneRun} )
                 g_signal_connect(
                         W, "value-changed",
                         (GCallback)eSFAD_any_profile_value_changed_cb,
                         this);
-        // for ( auto& W : {eSFADEstimateE, eSFADSingleChannelPreview} )
-        //         g_signal_connect(
-        //                 W, "toggled",
-        //                 (GCallback)eSFAD_any_profile_value_toggled_cb,
-        //                 this);
-        /// use available *_toggled_cb for these checkbuttons
 
         G_CONNECT_1 (eSFADEstimateE, toggled);
         G_CONNECT_1 (eSFADUseThisRange, toggled);
diff --git a/upstream/src/aghermann/ui/sf/d/artifacts.hh b/upstream/src/aghermann/ui/sf/d/artifacts.hh
index 3a183e5..43e357c 100644
--- a/upstream/src/aghermann/ui/sf/d/artifacts.hh
+++ b/upstream/src/aghermann/ui/sf/d/artifacts.hh
@@ -78,6 +78,10 @@ struct SScoringFacility::SArtifactsDialog
 
         // B. Contents
         // 1. MC-based
+        GtkLabel
+                *lSFADMCBasedSummary;
+        GtkTable
+                *cSFADMCBased;
         GtkCheckButton
                 *eSFADMCBasedConsider;
         GtkSpinButton
@@ -105,6 +109,10 @@ struct SScoringFacility::SArtifactsDialog
                 *cSFADWhenEstimateEOff;
 
         // 2. Flat regions
+        GtkLabel
+                *lSFADFlatSummary;
+        GtkTable
+                *cSFADFlat;
         GtkCheckButton
                 *eSFADFlatConsider;
         GtkSpinButton
@@ -112,6 +120,10 @@ struct SScoringFacility::SArtifactsDialog
                 *eSFADFlatPad;
 
         // 3. EMG perturbations
+        GtkLabel
+                *lSFADEMGSummary;
+        GtkTable
+                *cSFADEMG;
         GtkCheckButton
                 *eSFADEMGConsider;
         GtkSpinButton
@@ -143,6 +155,10 @@ void bSFADProfileSave_clicked_cb( GtkButton*, gpointer);
 void bSFADProfileRevert_clicked_cb( GtkButton*, gpointer);
 void bSFADProfileDiscard_clicked_cb( GtkButton*, gpointer);
 
+void eSFADMCBasedConsider_toggled_cb( GtkToggleButton*, gpointer);
+void eSFADFlatConsider_toggled_cb( GtkToggleButton*, gpointer);
+void eSFADEMGConsider_toggled_cb( GtkToggleButton*, gpointer);
+
 void eSFAD_any_profile_value_changed_cb( GtkSpinButton*, gpointer);
 void eSFAD_any_profile_origin_toggled_cb(GtkRadioButton*, gpointer);
 
diff --git a/upstream/src/aghermann/ui/sf/d/artifacts_cb.cc b/upstream/src/aghermann/ui/sf/d/artifacts_cb.cc
index 9436466..727c460 100644
--- a/upstream/src/aghermann/ui/sf/d/artifacts_cb.cc
+++ b/upstream/src/aghermann/ui/sf/d/artifacts_cb.cc
@@ -77,6 +77,47 @@ wSFAD_close_cb(
 }
 
 
+void
+eSFADMCBasedConsider_toggled_cb(
+        GtkToggleButton *b,
+        const gpointer userdata)
+{
+        auto& AD = *(SScoringFacility::SArtifactsDialog*)userdata;
+
+        gtk_widget_set_sensitive(
+                (GtkWidget*)AD.cSFADMCBased,
+                gtk_toggle_button_get_active( b));
+
+        AD.eX_any_profile_value_changed_cb();
+}
+
+void
+eSFADFlatConsider_toggled_cb(
+        GtkToggleButton *b,
+        const gpointer userdata)
+{
+        auto& AD = *(SScoringFacility::SArtifactsDialog*)userdata;
+
+        gtk_widget_set_sensitive(
+                (GtkWidget*)AD.cSFADFlat,
+                gtk_toggle_button_get_active( b));
+
+        AD.eX_any_profile_value_changed_cb();
+}
+
+void
+eSFADEMGConsider_toggled_cb(
+        GtkToggleButton *b,
+        const gpointer userdata)
+{
+        auto& AD = *(SScoringFacility::SArtifactsDialog*)userdata;
+
+        gtk_widget_set_sensitive(
+                (GtkWidget*)AD.cSFADEMG,
+                gtk_toggle_button_get_active( b));
+
+        AD.eX_any_profile_value_changed_cb();
+}
 
 void
 eSFAD_any_profile_value_changed_cb(

-- 
Alioth's /git/debian-med/git-commit-notice on /srv/git.debian.org/git/debian-med/aghermann.git



More information about the debian-med-commit mailing list