[med-svn] [aghermann] 37/60: pass correct args in call to emg_steady_tone in SScoringFacilty::SChannel()

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 aa483bd1eb834e98de04daf1eaaef957c523ae08
Author: Andrei Zavada <johnhommer at gmail.com>
Date:   Sat Oct 19 17:31:14 2013 +0300

    pass correct args in call to emg_steady_tone in SScoringFacilty::SChannel()
---
 upstream/data/sf-artifacts.glade        |  117 ++++++++++++++++++++-----------
 upstream/src/aghermann/rk1968/rk1968.hh |   27 +++----
 upstream/src/aghermann/ui/sf/channel.cc |    2 +-
 3 files changed, 92 insertions(+), 54 deletions(-)

diff --git a/upstream/data/sf-artifacts.glade b/upstream/data/sf-artifacts.glade
index 3699974..eb119d8 100644
--- a/upstream/data/sf-artifacts.glade
+++ b/upstream/data/sf-artifacts.glade
@@ -1,6 +1,12 @@
 <?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>
@@ -8,6 +14,27 @@
     <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>
@@ -22,6 +49,12 @@
     <property name="step_increment">0.25</property>
     <property name="page_increment">1</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>
@@ -74,33 +107,6 @@
     <property name="step_increment">0.5</property>
     <property name="page_increment">2</property>
   </object>
-  <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>
@@ -108,12 +114,6 @@
     <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>
     <property name="border_width">5</property>
@@ -1050,14 +1050,25 @@
                       </packing>
                     </child>
                     <child>
-                      <placeholder/>
+                      <object class="GtkSeparator" id="separator3">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                      </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
                     </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>
+                        <property name="label" translatable="yes">summary</property>
+                        <attributes>
+                          <attribute name="scale" value="0.80000000000000004"/>
+                        </attributes>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -1079,6 +1090,7 @@
               <object class="GtkExpander" id="expander2">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
+                <property name="hexpand">True</property>
                 <property name="use_underline">True</property>
                 <property name="resize_toplevel">True</property>
                 <child>
@@ -1182,6 +1194,7 @@
                   <object class="GtkBox" id="box4">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="hexpand">True</property>
                     <property name="spacing">3</property>
                     <child>
                       <object class="GtkCheckButton" id="eSFADFlatConsider">
@@ -1201,14 +1214,25 @@
                       </packing>
                     </child>
                     <child>
-                      <placeholder/>
+                      <object class="GtkSeparator" id="separator2">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                      </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
                     </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>
+                        <property name="label" translatable="yes">summary</property>
+                        <attributes>
+                          <attribute name="scale" value="0.80000000000000004"/>
+                        </attributes>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -1230,6 +1254,7 @@
               <object class="GtkExpander" id="expander3">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
+                <property name="hexpand">True</property>
                 <property name="use_underline">True</property>
                 <property name="resize_toplevel">True</property>
                 <child>
@@ -1334,6 +1359,7 @@
                   <object class="GtkBox" id="box5">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="hexpand">True</property>
                     <property name="spacing">3</property>
                     <child>
                       <object class="GtkCheckButton" id="eSFADEMGConsider">
@@ -1353,7 +1379,15 @@
                       </packing>
                     </child>
                     <child>
-                      <placeholder/>
+                      <object class="GtkSeparator" id="separator1">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                      </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="lSFADEMGSummary">
@@ -1361,10 +1395,13 @@
                         <property name="can_focus">False</property>
                         <property name="halign">end</property>
                         <property name="xalign">1</property>
-                        <property name="label" translatable="yes">label</property>
+                        <property name="label" translatable="yes">summary</property>
+                        <attributes>
+                          <attribute name="scale" value="0.80000000000000004"/>
+                        </attributes>
                       </object>
                       <packing>
-                        <property name="expand">False</property>
+                        <property name="expand">True</property>
                         <property name="fill">True</property>
                         <property name="position">2</property>
                       </packing>
diff --git a/upstream/src/aghermann/rk1968/rk1968.hh b/upstream/src/aghermann/rk1968/rk1968.hh
index d49c030..91da654 100644
--- a/upstream/src/aghermann/rk1968/rk1968.hh
+++ b/upstream/src/aghermann/rk1968/rk1968.hh
@@ -108,20 +108,21 @@ emg_steady_tone( const sigproc::SSignalRef<T>& V, size_t steady_secs, double max
         /// take it easy
 
         // examine 1-sec intervals until a length of, say, 10 sec is seen steady enough
-        valarray<T> bench (steady_secs);
-        size_t s = 1 * V.samplerate;
-        for ( int sec = 0; sec < V.signal.size() / V.samplerate - steady_secs - 1; ++sec ) {
-                auto range = slice (sec * s, s, 1);
-                bench[sec % steady_secs] = 2 * V.signal[range].apply(fabs).sum() / s;
-                if ( sec < steady_secs )
+        valarray<T> E;
+        {
+                valarray<T> env_u, env_l;
+                sigproc::envelope( V, 1., 1., &env_l, &env_u);
+                E.resize( env_u.size());
+                E = env_u - env_l;
+        }
+
+        printf( "E.size %zu\n", E.size());
+        for ( int t = 0; t < E.size() - steady_secs - 1; ++t ) {
+                auto ma = valarray<T> {E[slice(t, steady_secs, 1)]}.sum() / steady_secs;
+                printf( "E[%zu] = %g, ma = %g\n", t, E[t], ma);
+                if ( fabs(E[t] - ma) / ma > max_dev_factor )
                         continue;
-                T avg = bench.sum() / steady_secs;
-                for ( size_t t = 0; t < steady_secs; ++t )
-                        if ( 1 + fabs(bench[t] - avg) / avg > max_dev_factor )
-                                goto outer_continue;
-                return {avg, sec};
-        outer_continue:
-                ;
+                return {ma, t};
         }
         return {NAN, (size_t)-1};
 }
diff --git a/upstream/src/aghermann/ui/sf/channel.cc b/upstream/src/aghermann/ui/sf/channel.cc
index ab0e7e7..f3485b9 100644
--- a/upstream/src/aghermann/ui/sf/channel.cc
+++ b/upstream/src/aghermann/ui/sf/channel.cc
@@ -164,7 +164,7 @@ SChannel (agh::CRecording& r,
                 size_t steady_tone_at;
                 tie (emg_steady_tone, steady_tone_at) =
                         agh::rk1968::emg_steady_tone(
-                                sigproc::SSignalRef<TFloat> {raw_profile, size_t(roundf(1. / raw_profile_dt))},
+                                sigproc::SSignalRef<TFloat> {signal_filtered, samplerate()},
                                 steady_secs,
                                 max_dev_factor);
 

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