[med-svn] [SCM] aghermann branch, master, updated. 3603e7ef1289f9ec79a3eb415b6d141166e9498a

Andrei Zavada johnhommer at gmail.com
Sun Jul 14 22:28:19 UTC 2013


The following commit has been merged in the master branch:
commit 57ef2b2bd30d889c7b632bb0d5584b846d3100eb
Author: Andrei Zavada <johnhommer at gmail.com>
Date:   Tue Jul 9 09:30:14 2013 +0300

    WIP

diff --git a/src/libsigfile/edf-io.cc b/src/libsigfile/edf-io.cc
index d88f239..3adc071 100644
--- a/src/libsigfile/edf-io.cc
+++ b/src/libsigfile/edf-io.cc
@@ -116,40 +116,6 @@ put_region_smpl( const int h,
 
 
 
-
-int
-CEDFFile::
-export_original( const int h,
-		 const string& fname) const
-{
-	valarray<TFloat> signal = get_signal_original( h);
-	FILE *fd = fopen( fname.c_str(), "w");
-	if ( fd ) {
-		for ( size_t i = 0; i < signal.size(); ++i )
-			fprintf( fd, "%g\n", signal[i]);
-		fclose( fd);
-		return 0;
-	} else
-		return -1;
-}
-
-
-int
-CEDFFile::
-export_filtered( const int h,
-		 const string& fname) const
-{
-	valarray<TFloat> signal = get_signal_filtered( h);
-	FILE *fd = fopen( fname.c_str(), "w");
-	if ( fd ) {
-		for ( size_t i = 0; i < signal.size(); ++i )
-			fprintf( fd, "%g\n", signal[i]);
-		fclose( fd);
-		return 0;
-	} else
-		return -1;
-}
-
 // Local Variables:
 // Mode: c++
 // indent-tabs-mode: 8
diff --git a/src/libsigfile/edf.hh b/src/libsigfile/edf.hh
index 589bd72..d28164d 100644
--- a/src/libsigfile/edf.hh
+++ b/src/libsigfile/edf.hh
@@ -245,14 +245,6 @@ class CEDFFile
 	resize_records( size_t new_records);
 	// unused, undefined
 
-      // export
-	int export_original( int h, const string& fname) const;
-	int export_filtered( int h, const string& fname) const;
-
-	int export_original_( int h, const string& fname) const;
-	int export_filtered_( int h, const string& fname) const;
-
-
       // reporting & misc
 	string details( int which) const;
 
diff --git a/src/libsigfile/source-base.cc b/src/libsigfile/source-base.cc
index b826290..b4740cb 100644
--- a/src/libsigfile/source-base.cc
+++ b/src/libsigfile/source-base.cc
@@ -130,6 +130,7 @@ load_ancillary_files()
 {
 	int retval = 0;
 
+	FAFA;
 	for ( int h = 0; h < (int)n_channels(); ++h ) {
 		auto& H = channel_by_id(h);
 
@@ -151,6 +152,7 @@ load_ancillary_files()
 			}
 		}
 
+	FAFA;
 	step2:
 	      // 2. annotations
 		{
@@ -182,6 +184,7 @@ load_ancillary_files()
 	step3:
 		;
 	}
+	FAFA;
 
       // 3. filters
 	{
@@ -200,6 +203,7 @@ load_ancillary_files()
 			}
 	}
 
+	FAFA;
 	return retval;
 }
 
@@ -429,6 +433,40 @@ get_region_filtered_smpl( const int h,
 
 
 
+int
+CSource::
+export_original( const int h,
+		 const string& fname) const
+{
+	valarray<TFloat> signal = get_signal_original( h);
+	FILE *fd = fopen( fname.c_str(), "w");
+	if ( fd ) {
+		for ( size_t i = 0; i < signal.size(); ++i )
+			fprintf( fd, "%g\n", signal[i]);
+		fclose( fd);
+		return 0;
+	} else
+		return -1;
+}
+
+
+int
+CSource::
+export_filtered( const int h,
+		 const string& fname) const
+{
+	valarray<TFloat> signal = get_signal_filtered( h);
+	FILE *fd = fopen( fname.c_str(), "w");
+	if ( fd ) {
+		for ( size_t i = 0; i < signal.size(); ++i )
+			fprintf( fd, "%g\n", signal[i]);
+		fclose( fd);
+		return 0;
+	} else
+		return -1;
+}
+
+
 // Local Variables:
 // Mode: c++
 // indent-tabs-mode: 8
diff --git a/src/libsigfile/source-base.hh b/src/libsigfile/source-base.hh
index 1141059..98df897 100644
--- a/src/libsigfile/source-base.hh
+++ b/src/libsigfile/source-base.hh
@@ -216,6 +216,11 @@ struct SFilterPack {
 
 class CSource {
 	friend class CTypedSource;
+    public:
+	enum TFlags {
+		no_ancillary_files         = 1<<1,
+		no_field_consistency_check = 1<<2,
+	};
     protected:
 	string	_filename;
 
@@ -223,10 +228,6 @@ class CSource {
 	void clear_status()
 		{ _status = 0; }
 
-	enum TFlags {
-		no_ancillary_files         = 1<<1,
-		no_field_consistency_check = 1<<2,
-	};
 	int	_flags;
 
 	agh::SSubjectId
@@ -401,9 +402,9 @@ class CSource {
 
       // export
 	virtual int
-	export_original( int, const string& fname) const = 0;
+	export_original( int, const string& fname) const;
 	virtual int
-	export_filtered( int, const string& fname) const = 0;
+	export_filtered( int, const string& fname) const;
 
       // filenames
 	string make_fname_artifacts( const SChannel& channel) const
diff --git a/src/libsigfile/tsv.cc b/src/libsigfile/tsv.cc
index 0f125e4..f6139ed 100644
--- a/src/libsigfile/tsv.cc
+++ b/src/libsigfile/tsv.cc
@@ -226,6 +226,18 @@ put_region_smpl( int, const valarray<TFloat>&, size_t) const
 }
 
 
+
+size_t
+CTSVFile::
+resize_seconds( double s)
+{
+	assert ( s > 0. );
+	for ( auto& H : channels )
+		H.data.resize( s * _samplerate);
+	return 0;
+}
+
+
 string
 CTSVFile::
 details( const int which) const
diff --git a/src/libsigfile/tsv.hh b/src/libsigfile/tsv.hh
index 991f2c7..eda499f 100644
--- a/src/libsigfile/tsv.hh
+++ b/src/libsigfile/tsv.hh
@@ -250,14 +250,6 @@ class CTSVFile
 	size_t
 	resize_seconds( double);
 
-      // export
-	int export_original( int h, const string& fname) const;
-	int export_filtered( int h, const string& fname) const;
-
-	int export_original_( int h, const string& fname) const;
-	int export_filtered_( int h, const string& fname) const;
-
-
       // reporting & misc
 	string details( int which_details) const;
 
diff --git a/src/tools/agh-profile-gen.cc b/src/tools/agh-profile-gen.cc
index 60d523f..2f7fb89 100644
--- a/src/tools/agh-profile-gen.cc
+++ b/src/tools/agh-profile-gen.cc
@@ -203,7 +203,7 @@ main( int argc, char **argv)
 		if ( A.file.empty() )
 			throw invalid_argument ("Missing file name");
 
-		sigfile::CTypedSource F (A.file, A.pagesize, 0|sigfile::CTypedSource::no_ancillary_files);
+		sigfile::CTypedSource F (A.file, A.pagesize, 0|sigfile::CSource::no_ancillary_files);
 		if ( do_psd ) {
 			metrics::psd::CProfile P (F, A.h, A.psd_pp);
 			if ( P.go_compute() )
diff --git a/src/tools/edfcat.cc b/src/tools/edfcat.cc
index b0db990..afb5b8c 100644
--- a/src/tools/edfcat.cc
+++ b/src/tools/edfcat.cc
@@ -19,6 +19,7 @@
 
 #include <stdexcept>
 #include <fstream>
+#include "libsigproc/sigproc.hh"
 #include "libsigfile/edf.hh"
 #include "libsigfile/source.hh"
 #include "common/alg.hh"
@@ -335,7 +336,7 @@ exec_convert( const SOperation::SObject& obj)
 
 	sigfile::CEDFFile F ((obj + ".edf").c_str(),
 			     sigfile::CEDFFile::TSubtype::edf,
-			     0|sigfile::CTypedSource::no_ancillary_files,
+			     0|sigfile::CSource::no_ancillary_files,
 			     make_channel_headers_for_CEDFFile( Hh.size(), "channel%zu", obj.samplerate),
 			     obj.record_size,
 			     ceilf(duration / obj.record_size));
@@ -358,7 +359,7 @@ exec_convert( const SOperation::SObject& obj)
 int
 exec_prune( const SOperation::SObject& obj)
 {
-	sigfile::CEDFFile F (obj.c_str(), sigfile::CTypedSource::no_ancillary_files);
+	sigfile::CEDFFile F (obj.c_str(), sigfile::CSource::no_ancillary_files);
 
 	list<pair<sigfile::SChannel, size_t>> selected_channels;
 	for ( auto& select_this : obj.channels ) {
@@ -378,7 +379,7 @@ exec_prune( const SOperation::SObject& obj)
 
 	sigfile::CEDFFile G ((agh::fs::make_fname_base( obj, ".edf", false) + "-mod.edf").c_str(),
 			     sigfile::CEDFFile::TSubtype::edf,
-			     sigfile::CTypedSource::no_ancillary_files,
+			     sigfile::CSource::no_ancillary_files,
 			     selected_channels,
 			     F.data_record_size,
 			     F.n_data_records);
diff --git a/src/tools/edfhed-gtk.cc b/src/tools/edfhed-gtk.cc
index 3111338..4a81384 100644
--- a/src/tools/edfhed-gtk.cc
+++ b/src/tools/edfhed-gtk.cc
@@ -174,7 +174,7 @@ main( int argc, char **argv)
 
 	try {
 		auto F = sigfile::CEDFFile (fname,
-					    sigfile::CTypedSource::no_ancillary_files |
+					    sigfile::CSource::no_ancillary_files |
 					    sigfile::CEDFFile::no_field_consistency_check);
 
 		channel_no = 0;
diff --git a/src/tools/edfhed.cc b/src/tools/edfhed.cc
index 2769b05..15cdb0d 100644
--- a/src/tools/edfhed.cc
+++ b/src/tools/edfhed.cc
@@ -325,7 +325,7 @@ main( int argc, char **argv)
 	for ( auto &fname : Opts.files )
 		try {
 			auto F = sigfile::CEDFFile (fname,
-						    sigfile::CTypedSource::no_ancillary_files |
+						    sigfile::CSource::no_ancillary_files |
 						    sigfile::CEDFFile::no_field_consistency_check);
 			if ( Opts.settables.empty() &&
 			     not Opts.from_timestamp && not Opts.from_tree && not Opts.to_timestamp ) {

-- 
Sleep experiment manager



More information about the debian-med-commit mailing list