igor.git
12 years agoAdd igor.LOG for easier debugging.
W. Trevor King [Fri, 20 Jul 2012 18:46:08 +0000 (14:46 -0400)]
Add igor.LOG for easier debugging.

12 years agofix record.base
W. Trevor King [Thu, 19 Jul 2012 14:49:40 +0000 (10:49 -0400)]
fix record.base

12 years agoUse variable names to store variables in the filesystem (vs. VariablesRecord).
W. Trevor King [Thu, 19 Jul 2012 14:43:16 +0000 (10:43 -0400)]
Use variable names to store variables in the filesystem (vs. VariablesRecord).

12 years agoStore wave, bin_info, and wave_info separately in WaveRecord.
W. Trevor King [Thu, 19 Jul 2012 14:20:53 +0000 (10:20 -0400)]
Store wave, bin_info, and wave_info separately in WaveRecord.

This makes more sense than storing them as a tuple.

Also, use wave_record.wave_info['bname'] as the name for storing the
wave in the filesystem view returned by packed.load.

12 years agoRead sIndices as uint32's in binarywave.load.
W. Trevor King [Thu, 19 Jul 2012 13:56:47 +0000 (09:56 -0400)]
Read sIndices as uint32's in binarywave.load.

12 years agoImplement the folder records and filesystem reconstruction.
W. Trevor King [Thu, 19 Jul 2012 13:30:28 +0000 (09:30 -0400)]
Implement the folder records and filesystem reconstruction.

12 years agoImplement the plain-text ProcedureRecord.
W. Trevor King [Thu, 19 Jul 2012 12:33:14 +0000 (08:33 -0400)]
Implement the plain-text ProcedureRecord.

12 years agoImplement the plain-text HistoryRecord, RecreationRecord, and GetHistoryRecord.
W. Trevor King [Thu, 19 Jul 2012 12:31:11 +0000 (08:31 -0400)]
Implement the plain-text HistoryRecord, RecreationRecord, and GetHistoryRecord.

12 years agoSplit record handling into modules and implement VariablesRecord.
W. Trevor King [Thu, 19 Jul 2012 12:14:04 +0000 (08:14 -0400)]
Split record handling into modules and implement VariablesRecord.

12 years agostruct: Add support for zero-count Fields.
W. Trevor King [Wed, 18 Jul 2012 22:20:52 +0000 (18:20 -0400)]
struct: Add support for zero-count Fields.

12 years agoExtend igor.struct.Structure and .Field to support nesting.
W. Trevor King [Wed, 18 Jul 2012 20:34:05 +0000 (16:34 -0400)]
Extend igor.struct.Structure and .Field to support nesting.

12 years agoMove need_to_reorder_bytes from binarywave to util.
W. Trevor King [Tue, 17 Jul 2012 12:59:17 +0000 (08:59 -0400)]
Move need_to_reorder_bytes from binarywave to util.

We'll be needing it for packed.load, so it's not binarywave-specific.

12 years agoWaveRecord now loads waves as WaveRecord.wave.
W. Trevor King [Tue, 17 Jul 2012 12:00:03 +0000 (08:00 -0400)]
WaveRecord now loads waves as WaveRecord.wave.

12 years agoAPI cleanup for binarywave (loadibw->load, move checksum to util, ...).
W. Trevor King [Tue, 17 Jul 2012 11:49:06 +0000 (07:49 -0400)]
API cleanup for binarywave (loadibw->load, move checksum to util, ...).

Also moved byte_order to the util module and renamed a few functions
internal to the binarywave module so they start with an underscore.

The loadibw -> load (and saveibw -> save) change is because

  from igor.binarywave import load

gives you enough of an idea about what you're importing.  If you want
to keep it explicit in your client module, use

  from igor.binarywave import load as loadibw

which we do in the test.py module.

12 years agoStub out packed experiment (.pxp) reading.
W. Trevor King [Tue, 17 Jul 2012 11:32:33 +0000 (07:32 -0400)]
Stub out packed experiment (.pxp) reading.

12 years agoSplit struct and util modules out of binarywave.
W. Trevor King [Tue, 17 Jul 2012 03:23:47 +0000 (23:23 -0400)]
Split struct and util modules out of binarywave.

12 years agoAdd the test suite that's been driving today's changes.
W. Trevor King [Tue, 17 Jul 2012 03:02:11 +0000 (23:02 -0400)]
Add the test suite that's been driving today's changes.

Samples are from TN003.zip, downloaded from
  ftp://www.wavemetrics.net/IgorPro/Technical_Notes/TN003.zip

12 years agoPreliminary support for dependent formula waves.
W. Trevor King [Tue, 17 Jul 2012 03:01:18 +0000 (23:01 -0400)]
Preliminary support for dependent formula waves.

12 years agoAdd support for text waves.
W. Trevor King [Tue, 17 Jul 2012 02:40:10 +0000 (22:40 -0400)]
Add support for text waves.

I'm confident in the bytes -> strings conversion, but not entirely
sure how the strings get mapped into multidimensional arrays.

12 years agoAdd support for zero-length waves.
W. Trevor King [Tue, 17 Jul 2012 02:01:57 +0000 (22:01 -0400)]
Add support for zero-length waves.

12 years agoRestore native byte order before running need_to_reorder_bytes.
W. Trevor King [Mon, 16 Jul 2012 20:28:43 +0000 (16:28 -0400)]
Restore native byte order before running need_to_reorder_bytes.

Otherwise an earier switch to a non-native byte ordering will confuse
the current load.

12 years agoPull null-buffer check out into its own function: binarywave.assert_null.
W. Trevor King [Mon, 16 Jul 2012 19:51:14 +0000 (15:51 -0400)]
Pull null-buffer check out into its own function: binarywave.assert_null.

12 years agoUpgrade to Python 2.7+ string formatting.
W. Trevor King [Mon, 16 Jul 2012 19:17:03 +0000 (15:17 -0400)]
Upgrade to Python 2.7+ string formatting.

12 years agoSplit igorbinarywave.py off of Hooke into its own package.
W. Trevor King [Mon, 16 Jul 2012 18:56:43 +0000 (14:56 -0400)]
Split igorbinarywave.py off of Hooke into its own package.

12 years agoAdd -n/--not-strict to igorbinarywave.py (currently for IBW files with non-empty... v0.1
W. Trevor King [Thu, 28 Oct 2010 16:39:29 +0000 (12:39 -0400)]
Add -n/--not-strict to igorbinarywave.py (currently for IBW files with non-empty padding).

12 years agoMove hooke.driver.igorbinarywave to hooke.util.igorbinarywave.
W. Trevor King [Wed, 8 Sep 2010 14:30:28 +0000 (10:30 -0400)]
Move hooke.driver.igorbinarywave to hooke.util.igorbinarywave.

It's a utility for the MFP3D driver, not a driver in its own right.

12 years agoRan update_copyright.py
W. Trevor King [Tue, 3 Aug 2010 00:10:15 +0000 (20:10 -0400)]
Ran update_copyright.py

12 years agoAdded post-data optional field processing to igorbinarywave.loadibw.
W. Trevor King [Fri, 4 Jun 2010 07:28:19 +0000 (03:28 -0400)]
Added post-data optional field processing to igorbinarywave.loadibw.

12 years agoAutomatically split version 5 Igor wave files into columns
W. Trevor King [Fri, 4 Jun 2010 06:46:11 +0000 (02:46 -0400)]
Automatically split version 5 Igor wave files into columns

12 years agoRan update_copyright.py on igorbinarywave.py
W. Trevor King [Fri, 4 Jun 2010 05:16:51 +0000 (01:16 -0400)]
Ran update_copyright.py on igorbinarywave.py

12 years agoAdd hooke.driver.igorbinarywave so Hooke can read Igor files.
W. Trevor King [Fri, 4 Jun 2010 05:15:46 +0000 (01:15 -0400)]
Add hooke.driver.igorbinarywave so Hooke can read Igor files.

12 years agoSplit IGOR handling out into its own repository.
W. Trevor King [Mon, 16 Jul 2012 17:15:34 +0000 (13:15 -0400)]
Split IGOR handling out into its own repository.