summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
W. Trevor King [Sat, 21 Jul 2012 11:50:09 +0000 (07:50 -0400)]
Replace igor.igorpy parsing with translations from igor.packed.load.
W. Trevor King [Sat, 21 Jul 2012 11:48:54 +0000 (07:48 -0400)]
Add 'not enough data...' errors to packed.load().
W. Trevor King [Fri, 20 Jul 2012 20:05:18 +0000 (16:05 -0400)]
Add test-igorpy.py for testing igor.igorpy.
W. Trevor King [Fri, 20 Jul 2012 20:03:28 +0000 (16:03 -0400)]
Use LOG to print helpful messages in test.py.
W. Trevor King [Fri, 20 Jul 2012 19:27:23 +0000 (15:27 -0400)]
Point out that test/data is not bundled.
W. Trevor King [Fri, 20 Jul 2012 19:25:22 +0000 (15:25 -0400)]
Add COPYING file with GPLv3 text.
W. Trevor King [Fri, 20 Jul 2012 19:22:34 +0000 (15:22 -0400)]
Update igorbinarywave.py to use dynamic structure interface.
W. Trevor King [Fri, 20 Jul 2012 19:15:42 +0000 (15:15 -0400)]
Initial merge with igor.py, still need to integrate code.
W. Trevor King [Fri, 20 Jul 2012 18:50:09 +0000 (14:50 -0400)]
Rework igor.struct to support dynamic structures.
Between binarywave and record.variables, there was a good deal of
parsing that was conditional on previously parsed data. Rather than
continue writing spaghetti code to handle each specific case, I've
taken a stab at a general framework for updating structures during
parsing (DynamicStructure and DynamicField). The docstrings should
explain how they work. The implementation still has a few holes, but
it works on each of the files in my test suite.
W. Trevor King [Fri, 20 Jul 2012 18:46:08 +0000 (14:46 -0400)]
Add igor.LOG for easier debugging.
W. Trevor King [Thu, 19 Jul 2012 14:49:40 +0000 (10:49 -0400)]
fix record.base
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).
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.
W. Trevor King [Thu, 19 Jul 2012 13:56:47 +0000 (09:56 -0400)]
Read sIndices as uint32's in binarywave.load.
W. Trevor King [Thu, 19 Jul 2012 13:30:28 +0000 (09:30 -0400)]
Implement the folder records and filesystem reconstruction.
W. Trevor King [Thu, 19 Jul 2012 12:33:14 +0000 (08:33 -0400)]
Implement the plain-text ProcedureRecord.
W. Trevor King [Thu, 19 Jul 2012 12:31:11 +0000 (08:31 -0400)]
Implement the plain-text HistoryRecord, RecreationRecord, and GetHistoryRecord.
W. Trevor King [Thu, 19 Jul 2012 12:14:04 +0000 (08:14 -0400)]
Split record handling into modules and implement VariablesRecord.
W. Trevor King [Wed, 18 Jul 2012 22:20:52 +0000 (18:20 -0400)]
struct: Add support for zero-count Fields.
W. Trevor King [Wed, 18 Jul 2012 20:34:05 +0000 (16:34 -0400)]
Extend igor.struct.Structure and .Field to support nesting.
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.
W. Trevor King [Tue, 17 Jul 2012 12:00:03 +0000 (08:00 -0400)]
WaveRecord now loads waves as WaveRecord.wave.
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.
W. Trevor King [Tue, 17 Jul 2012 11:32:33 +0000 (07:32 -0400)]
Stub out packed experiment (.pxp) reading.
W. Trevor King [Tue, 17 Jul 2012 03:23:47 +0000 (23:23 -0400)]
Split struct and util modules out of binarywave.
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
W. Trevor King [Tue, 17 Jul 2012 03:01:18 +0000 (23:01 -0400)]
Preliminary support for dependent formula 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.
W. Trevor King [Tue, 17 Jul 2012 02:01:57 +0000 (22:01 -0400)]
Add support for zero-length waves.
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.
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.
W. Trevor King [Mon, 16 Jul 2012 19:17:03 +0000 (15:17 -0400)]
Upgrade to Python 2.7+ string formatting.
W. Trevor King [Mon, 16 Jul 2012 18:56:43 +0000 (14:56 -0400)]
Split igorbinarywave.py off of Hooke into its own package.
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).
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.
W. Trevor King [Tue, 3 Aug 2010 00:10:15 +0000 (20:10 -0400)]
Ran update_copyright.py
W. Trevor King [Fri, 4 Jun 2010 07:28:19 +0000 (03:28 -0400)]
Added post-data optional field processing to igorbinarywave.loadibw.
W. Trevor King [Fri, 4 Jun 2010 06:46:11 +0000 (02:46 -0400)]
Automatically split version 5 Igor wave files into columns
W. Trevor King [Fri, 4 Jun 2010 05:16:51 +0000 (01:16 -0400)]
Ran update_copyright.py on igorbinarywave.py
W. Trevor King [Fri, 4 Jun 2010 05:15:46 +0000 (01:15 -0400)]
Add hooke.driver.igorbinarywave so Hooke can read Igor files.
W. Trevor King [Mon, 16 Jul 2012 17:15:34 +0000 (13:15 -0400)]
Split IGOR handling out into its own repository.
Paul Kienzle [Mon, 17 Oct 2011 18:47:34 +0000 (14:47 -0400)]
fix doc typo
Paul Kienzle [Sat, 15 Oct 2011 01:03:15 +0000 (21:03 -0400)]
acknowledge patch author
Paul Kienzle [Sat, 15 Oct 2011 00:59:55 +0000 (20:59 -0400)]
release notes
Paul Kienzle [Sat, 15 Oct 2011 00:27:32 +0000 (20:27 -0400)]
bump version number and push to pypi
Paul Kienzle [Sat, 15 Oct 2011 00:23:59 +0000 (20:23 -0400)]
Use IgorObject as base; make sure subfolder name is valid before using it as an attribute
Paul Kienzle [Fri, 14 Oct 2011 23:40:55 +0000 (19:40 -0400)]
Merge branch 'master' of github.com:reflectometry/igor.py
pkienzle [Fri, 14 Oct 2011 23:41:49 +0000 (16:41 -0700)]
Merge pull request #2 from valhallasw/master
Several commits, including fix for issue 1 (fixes #1, fixes #2)
Merlijn van Deen (valhallasw) [Mon, 26 Sep 2011 08:43:00 +0000 (10:43 +0200)]
(formatting) added extra newline
Merlijn van Deen (valhallasw) [Mon, 26 Sep 2011 08:41:41 +0000 (10:41 +0200)]
Allow subfolders to be reached as attributes
Merlijn van Deen (valhallasw) [Mon, 26 Sep 2011 08:39:53 +0000 (10:39 +0200)]
Added nicer __repr__esentation to Wave and Folder objects
Merlijn van Deen (valhallasw) [Mon, 26 Sep 2011 08:38:47 +0000 (10:38 +0200)]
Allow Waves to be directly used as numpy arrays
Merlijn van Deen (valhallasw) [Mon, 26 Sep 2011 08:37:58 +0000 (10:37 +0200)]
Unicode-ify data reading
Merlijn van Deen (valhallasw) [Mon, 26 Sep 2011 08:36:50 +0000 (10:36 +0200)]
Created common base class for all parser objects
Paul Kienzle [Wed, 27 Apr 2011 15:35:11 +0000 (11:35 -0400)]
add package to pypi
Paul Kienzle [Wed, 27 Apr 2011 15:03:29 +0000 (11:03 -0400)]
install instructions
Paul Kienzle [Wed, 27 Apr 2011 14:53:36 +0000 (10:53 -0400)]
add setup.py and version info
Paul Kienzle [Wed, 27 Apr 2011 14:34:53 +0000 (10:34 -0400)]
implement reader