[med-svn] [SCM] aghermann branch, master, updated. 06bda7dfaa687aaf0708a024d192024e2cd58421

andrei zavada jh at johnhommer.com
Thu Jan 24 00:43:55 UTC 2013


The following commit has been merged in the master branch:
commit a6f1b8ecece71ae72b9a0c65ad5ea92efec9408d
Author: andrei zavada <jh at johnhommer.com>
Date:   Tue Jan 22 10:07:26 2013 +0000

    patterns WIP

diff --git a/src/ui/sf/sf-patterns-enumerate.cc b/src/ui/sf/sf-patterns-enumerate.cc
index fff35ba..e213025 100644
--- a/src/ui/sf/sf-patterns-enumerate.cc
+++ b/src/ui/sf/sf-patterns-enumerate.cc
@@ -26,23 +26,25 @@ import_from_selection( SScoringFacility::SChannel& field)
 	if ( run == 0 )
 		return;
 
-	size_t	context_before = (field.selection_start < context_pad)
-		? context_pad - field.selection_start
-		: context_pad,
-		context_after  = (field.selection_end + context_pad > field.n_samples())
+	size_t	context_before = // agh::alg::ensure_within(
+		(field.selection_start < Q->context_pad)
+		? Q->context_pad - field.selection_start
+		: Q->context_pad,
+		context_after  = (field.selection_end + Q->context_pad > field.n_samples())
 		? field.n_samples() - field.selection_end
-		: context_pad;
-	pattern::SPattern<TFloat> tim (
-		"(unnamed)", TPatternOrigin::transient, false,
+		: Q->context_pad,
+		full_sample = run + context_before + context_after;
+	pattern::SPattern<TFloat> tim {
+		"(unnamed)", pattern::TOrigin::transient, false,
 		{field.signal_filtered[ slice (field.selection_start - context_before, full_sample, 1) ]},
 		field.samplerate(),
 		context_before, context_after,
 		Pp2,
-		criteria);
+			criteria};
 	// transient is always the last
 	((patterns.back().origin == pattern::TOrigin::transient)
 	 ? patterns.back()
-	 : (patterns.push_back(), patterns.back())
+	 : (patterns.push_back( pattern::SPattern<TFloat> ()), patterns.back())
 		) = tim;
 
 	field_channel = &field;
@@ -88,7 +90,7 @@ string
 make_experiment_patterns_location( const agh::CExpDesign& ED)
 {
 	DEF_UNIQUE_CHARP (buf);
-	ASPRINTF( &buf, "%s/.patterns", ED->session_dir().c_str());
+	ASPRINTF( &buf, "%s/.patterns", ED.session_dir().c_str());
 	string ret (buf);
 	return ret;
 }
@@ -97,32 +99,32 @@ string
 make_subject_patterns_location(const agh::CExpDesign& ED, const agh::CSubject& J)
 {
 	DEF_UNIQUE_CHARP (buf);
-	ASPRINTF( &buf, "%s/.patterns", ED->subject_dir( J).c_str());
+	ASPRINTF( &buf, "%s/.patterns", ED.subject_dir( J).c_str());
 	string ret (buf);
 	return ret;
 }
 
-}
+
 
 void
 aghui::SScoringFacility::SFindDialog::
 load_patterns()
 {
-	list<patterns::SPattern>
+	list<pattern::SPattern<TFloat>>
 		collected;
 	for ( auto& L : {
-			patterns::load_patterns_from_location(
+			pattern::load_patterns_from_location<TFloat>(
 				make_system_patterns_location(),
-				patterns::SPattern::TOrigin::system);
-			patterns::load_patterns_from_location(
+				pattern::TOrigin::system),
+			pattern::load_patterns_from_location<TFloat>(
 				make_user_patterns_location(),
-				patterns::SPattern::TOrigin::user);
-			patterns::load_patterns_from_location(
+				pattern::TOrigin::user),
+			pattern::load_patterns_from_location<TFloat>(
 				make_experiment_patterns_location( _p._p.ED),
-				patterns::SPattern::TOrigin::experiment);
-			patterns::load_patterns_from_location(
+				pattern::TOrigin::experiment),
+			pattern::load_patterns_from_location<TFloat>(
 				make_subject_patterns_location( _p._p.ED, _p.csubject()),
-				patterns::SPattern::TOrigin::subject)
+				pattern::TOrigin::subject)
 				} )
 		collected.splice( collected.end(), L);
 
diff --git a/src/ui/sf/sf-patterns.cc b/src/ui/sf/sf-patterns.cc
index 3dfcc5d..334bfc0 100644
--- a/src/ui/sf/sf-patterns.cc
+++ b/src/ui/sf/sf-patterns.cc
@@ -102,7 +102,7 @@ find_occurrences()
 	for ( size_t i = 0; i < diff_line.size(); i += inc )
 		if ( diff_line[i].good_enough( criteria) ) {
 			occurrences.push_back(i);
-			i += pattern_size_essential()/inc * inc; // avoid overlapping occurrences *and* ensure we hit the stride
+			i += Q->pattern_size_essential()/inc * inc; // avoid overlapping occurrences *and* ensure we hit the stride
 		}
 
 	restore_annotations();
@@ -119,8 +119,8 @@ occurrences_to_annotations()
 	for ( size_t o = 0; o < occurrences.size(); ++o )
 		sigfile::mark_annotation(
 			field_channel->annotations,
-			occurrences[o], occurrences[o] + pattern_size_essential(),
-			(snprintf_buf("%s (%zu)", pattern_name.c_str(), o), __buf__));
+			occurrences[o], occurrences[o] + Q->pattern_size_essential(),
+			(snprintf_buf("%s (%zu)", Q->name.c_str(), o), __buf__));
 }
 
 void

-- 
Sleep experiment manager



More information about the debian-med-commit mailing list