W. Trevor King [Wed, 11 Aug 2010 17:20:10 +0000 (13:20 -0400)]
Remove outdated type TODOs from hooke/command (conversion handled by UIs).
W. Trevor King [Wed, 11 Aug 2010 17:19:05 +0000 (13:19 -0400)]
Print tutorial init message to stderr so it won't interfere with doctests.
e.g.
nosetests --with-doctest --doctest-tests test/curve_info.py
W. Trevor King [Wed, 11 Aug 2010 13:58:09 +0000 (09:58 -0400)]
Allow fallback to XeX notation for efor extreme powers in ppSI
W. Trevor King [Wed, 11 Aug 2010 13:57:19 +0000 (09:57 -0400)]
Remove post-fit L/N conversions from polymer_fit.py (handled in .fit() now).
W. Trevor King [Wed, 11 Aug 2010 13:46:02 +0000 (09:46 -0400)]
Add 'ignore index' argument to SurfaceContactCommand
W. Trevor King [Wed, 11 Aug 2010 13:31:58 +0000 (09:31 -0400)]
We don't seem to need to guess the scale in SurfacePositionModel
W. Trevor King [Wed, 11 Aug 2010 13:30:28 +0000 (09:30 -0400)]
Update ModelFitters in polymer_fit.py to match new diag/scale interpretation.
W. Trevor King [Wed, 11 Aug 2010 13:12:27 +0000 (09:12 -0400)]
Update SurfacePositionModel to match new diag/scale interpretation.
W. Trevor King [Wed, 11 Aug 2010 13:11:36 +0000 (09:11 -0400)]
Oops, correct my faulty interpretation of leastsq's 'diag' argument in fit.py
W. Trevor King [Tue, 10 Aug 2010 20:32:31 +0000 (16:32 -0400)]
Add TranslateFlatPeaksCommand.
This completes a simple velocity clamp force analysis approach. Consider:
./bin/hooke -c 'load_playlist test/data/test'
-c 'zero_block_surface_contact_point --block 1'
-c 'add_flattened_extension_array --block 1 --max_degree 1
--input_deflection_column "surface deflection (m)"'
-c 'add_block_force_array --block 1
--input_deflection_column "flattened deflection (m)"'
-c 'add_block_cantilever_adjusted_extension_array --block 1'
-c 'flat_filter_peaks --min_points 1'
-c 'flat_peaks_to_polymer_peaks --block 1'
-c 'polymer_fit_peaks --block 1'
--command-no-exit
Still to come:
* Better contact point fitting or flattening, since the above method
currently does a pretty bad job with the actual WLCs. Perhaps a
WLC-based zeroing could lead a second fitting iteration.
* A way to apply grouped commands like this to each curve in a playlist.
* Saving dicts in the playlist format or changing formats so the WLC
fitting parameters are accessible for further analysis (e.g. with
sawsim: http://dx.doi.org/10.1016/j.ijbiomac.2009.12.001 ).
W. Trevor King [Tue, 10 Aug 2010 20:16:37 +0000 (16:16 -0400)]
Adjust GUI initialization to handle already loaded playlists (via --command-no-exit, etc.)
W. Trevor King [Tue, 10 Aug 2010 20:15:50 +0000 (16:15 -0400)]
Fix tree method exposure in playlist GUI pansl
W. Trevor King [Tue, 10 Aug 2010 19:49:48 +0000 (15:49 -0400)]
Add --command-no-exit to bin/hooke, making hardcoded testing calls to execute_command() in gui superfluous.
W. Trevor King [Tue, 10 Aug 2010 19:42:35 +0000 (15:42 -0400)]
Log execution debug messages from the commandline UI (matching the GUI).
W. Trevor King [Tue, 10 Aug 2010 19:41:53 +0000 (15:41 -0400)]
Set hand1 logging handler level to WARN by default (avoids DEBUG clutter, etc.)
W. Trevor King [Tue, 10 Aug 2010 19:23:10 +0000 (15:23 -0400)]
Log warning for invalid section/option settings
W. Trevor King [Tue, 10 Aug 2010 17:10:40 +0000 (13:10 -0400)]
Use numpy.nan to hide unfit portions of polymer tension columns.
W. Trevor King [Tue, 10 Aug 2010 17:09:44 +0000 (13:09 -0400)]
Make ModelFitter._data_scale_factor determination more robust with wierd data.
W. Trevor King [Tue, 10 Aug 2010 15:57:04 +0000 (11:57 -0400)]
Add 'polymer fit' error reporting to PolymerFitPeaksCommand
W. Trevor King [Tue, 10 Aug 2010 15:49:13 +0000 (11:49 -0400)]
Added PolymerFitPeaksCommand to hooke.plugin.polymer_fit
W. Trevor King [Tue, 10 Aug 2010 15:09:00 +0000 (11:09 -0400)]
Collapse None entries for Argument.count == -1 in the GUI
W. Trevor King [Tue, 10 Aug 2010 14:59:24 +0000 (10:59 -0400)]
Enable hackish support for Argument.count == -1 (by setting it to 3)
W. Trevor King [Tue, 10 Aug 2010 12:52:43 +0000 (08:52 -0400)]
Update FlatPeaksCommand to use flexible column names.
W. Trevor King [Tue, 10 Aug 2010 12:34:12 +0000 (08:34 -0400)]
Better None-handling in convert and propertyeditor
W. Trevor King [Tue, 10 Aug 2010 12:33:32 +0000 (08:33 -0400)]
Allow None values for plot clicks or SI values
W. Trevor King [Tue, 10 Aug 2010 10:44:50 +0000 (06:44 -0400)]
Allow commandline to load without readline for non-Unix systems
W. Trevor King [Tue, 10 Aug 2010 00:10:33 +0000 (20:10 -0400)]
Update PolymerFitCommand to use flexible column names.
This allows you to fit multiple WLCs, etc. (by changing the 'output
tension column' name), so you can fit multiple peaks and/or multiple models.
W. Trevor King [Mon, 9 Aug 2010 16:00:25 +0000 (12:00 -0400)]
version 1.0.0.alpha
W. Trevor King [Mon, 9 Aug 2010 15:59:46 +0000 (11:59 -0400)]
Updated version information to 1.0.0.alpha (Ninken).
This is mostly to bring the `type` field of __version__ into agreement
with Python's alpha/beta/candidate/final. The bump to major version 1
is intended to reflect the major recoding of the Hooke internals that
I've been carrying out.
The name change (Kenzo -> Ninken) follows the list of Japanese
emperors
http://en.wikipedia.org/wiki/List_of_Emperors_of_Japan
This matches Seinei -> Kenzo progression, so I'm pretty sure this is
where the current naming scheme comes from.
W. Trevor King [Mon, 9 Aug 2010 15:29:24 +0000 (11:29 -0400)]
Add --version option to hooke.hooke.main
W. Trevor King [Mon, 1 Feb 2010 16:10:00 +0000 (16:10 +0000)]
version 0.9.0
W. Trevor King [Thu, 24 Apr 2008 13:50:00 +0000 (13:50 +0000)]
version 0.8.3
W. Trevor King [Mon, 9 Aug 2010 12:21:17 +0000 (08:21 -0400)]
Adjust Mercurial repository URL to avoid NFS mounting issues on the server side
W. Trevor King [Mon, 9 Aug 2010 12:15:19 +0000 (08:15 -0400)]
Allow hooke.ui to load with missing hooke.license submodule.
This is like similar code in hooke/__init__.py, and allows you to run
Hooke from a snapshot without generating the license.py file.
hooke/license.py is generated as needed by update_copyright.py, so
it's not tracked by the version control system. However, running
update_copyright.py requires a working Mercurial repository, which
users may not have if they installed from a VCS tarball, etc. This
code allows those users to run Hooke from such snapshots.
Official releases should bundle a generates license.py file, so in
that case this code is superfluous.
W. Trevor King [Mon, 9 Aug 2010 01:59:16 +0000 (21:59 -0400)]
Convert the old flatten plotmanip into vclamp's FlattenCommand
W. Trevor King [Sun, 8 Aug 2010 20:48:59 +0000 (16:48 -0400)]
Remove the old multiplier plotmanip from the vclamp plugin.
Anything you did with the multiplier plugin can be done with
ForceCommand. Perhaps ForceCommand should be a specific set of
defaults to a MultiplierCommand in the curve plugin, but until I see
good motivation for such genralization, I'll leave things the way they
are.
W. Trevor King [Sun, 8 Aug 2010 20:46:32 +0000 (16:46 -0400)]
Moved interesting old vclamp commands over into the curve plugin
W. Trevor King [Sun, 8 Aug 2010 20:41:47 +0000 (16:41 -0400)]
Remove old vclamp commands replaced by the curve plugin's DeltaCommand.
W. Trevor King [Sun, 8 Aug 2010 20:37:53 +0000 (16:37 -0400)]
Update CantileverAdjustedExtensionCommand to use flexible column names.
W. Trevor King [Sun, 8 Aug 2010 20:17:28 +0000 (16:17 -0400)]
Update ForceCommand to use flexible column names.
W. Trevor King [Sun, 8 Aug 2010 20:09:40 +0000 (16:09 -0400)]
Use .run vs. old ._run in vclamp.scale() to normalize params
W. Trevor King [Sun, 8 Aug 2010 20:06:21 +0000 (16:06 -0400)]
Update Git -> Mercurial repo link in doc/install.txt.
W. Trevor King [Sun, 8 Aug 2010 13:18:36 +0000 (09:18 -0400)]
Close parenthesis on column append in DifferenceCommand
W. Trevor King [Sat, 7 Aug 2010 22:46:22 +0000 (18:46 -0400)]
Update DifferenceCommand to use flexible column names.
W. Trevor King [Sat, 7 Aug 2010 22:28:36 +0000 (18:28 -0400)]
Update DerivativeCommand to use flexible column names.
W. Trevor King [Sat, 7 Aug 2010 22:11:37 +0000 (18:11 -0400)]
Create extra block holding PowerSpectrumCommand output data
W. Trevor King [Sat, 7 Aug 2010 21:37:41 +0000 (17:37 -0400)]
Update SurfaceContactCommand to use flexible column/info names.
W. Trevor King [Sat, 7 Aug 2010 20:57:09 +0000 (16:57 -0400)]
Added 'Analsis' section to doc/hacking.txt
W. Trevor King [Sat, 7 Aug 2010 19:51:14 +0000 (15:51 -0400)]
Remove Assistant panel from GUI (get help via mouseover tooltips instead).
W. Trevor King [Sat, 7 Aug 2010 19:44:26 +0000 (15:44 -0400)]
Updated doc/gui.txt and add and use Sphinx' todo extension.
W. Trevor King [Sat, 7 Aug 2010 18:54:01 +0000 (14:54 -0400)]
Added 'delta' command to hooke.plugin.curve
W. Trevor King [Sat, 7 Aug 2010 18:30:42 +0000 (14:30 -0400)]
Updated 'Configuring Hooke' section of tutorial.txt
W. Trevor King [Sat, 7 Aug 2010 18:22:38 +0000 (14:22 -0400)]
Set ._digest after saving in hooke.playlist.FilePlaylist.save()
The old implementation would complain of unsaved playlists upon
exiting if it was different from the originally loaded version, even
if you'd just saved the playlist! We also switch to the more robust
`with` syntax:
http://www.python.org/dev/peps/pep-0343/
W. Trevor King [Sat, 7 Aug 2010 18:17:33 +0000 (14:17 -0400)]
Update note section of tutorial.txt.
Also replace empty strings with None during
hooke.util.convert._string_to_string() conversion to allow clearing
notes etc.
Also cleaned up docstrings in hooke.plugin.note to better reflect the
change made in commit
5e44aef4859c.
W. Trevor King [Sat, 7 Aug 2010 18:05:09 +0000 (14:05 -0400)]
Fix POSIX URL and markup in tutorial.txt
W. Trevor King [Sat, 7 Aug 2010 18:03:17 +0000 (14:03 -0400)]
Fix POSIX footnote in tutorial.txt
W. Trevor King [Sat, 7 Aug 2010 17:58:37 +0000 (13:58 -0400)]
Add :: before new playlist creation code samples.
W. Trevor King [Sat, 7 Aug 2010 17:55:05 +0000 (13:55 -0400)]
Add 'new playlist' command and clean up 'Creating a playlist' in tutorial.txt.
W. Trevor King [Sat, 7 Aug 2010 16:50:17 +0000 (12:50 -0400)]
Fixed empytline -> emptyline typo in hooke.ui.commandline.
Also use cmd and args vs. old argv[0], argv[1:] in parseline for clarity.
W. Trevor King [Sat, 7 Aug 2010 16:34:05 +0000 (12:34 -0400)]
Fix another wget -o -> -O typo in doc/install.txt
W. Trevor King [Sat, 7 Aug 2010 16:27:44 +0000 (12:27 -0400)]
Removed cruft from procplots & vclamp plugins whose functionality has been replaced.
W. Trevor King [Sat, 7 Aug 2010 16:26:40 +0000 (12:26 -0400)]
Remove differentiation reference from difference's column argument help.
W. Trevor King [Sat, 7 Aug 2010 16:18:50 +0000 (12:18 -0400)]
Remove differentiation reference from power spectrum's column argument help.
W. Trevor King [Sat, 7 Aug 2010 16:12:24 +0000 (12:12 -0400)]
Don't number properties in if count == 1 in gui.panel.propertyeditor.
The zeros in the name are distracting and unnecessary.
W. Trevor King [Sat, 7 Aug 2010 15:45:12 +0000 (11:45 -0400)]
Remove macro plugin.
The Hooke commandline seems like a pretty crippled place to go about
defining functions. There should be enough examples of
plugins/commands with good documentation for users to be able to write
their own plugins/commands if they want additional functionality.
Macros just confuse the recommended path.
W. Trevor King [Sat, 7 Aug 2010 15:31:18 +0000 (11:31 -0400)]
Fix nm -> m conversion bug in WTKDriver's deflection scaling.
W. Trevor King [Sat, 7 Aug 2010 15:22:27 +0000 (11:22 -0400)]
Use Playlist.__str__ code for __repr__ and __unicode__ too.
W. Trevor King [Sat, 7 Aug 2010 14:21:34 +0000 (10:21 -0400)]
Added point-click status notification to gui.panel.plot.
Now clicking on points displays their x/y value as well as the index
of the nearest x point for the various displayed data blocks.
This allowed me to adjust the bounds of the testing WLC fit in
hooke.ui.gui to more appropriate values, but these commands will
eventually be removed once I get through the rough development phase.
W. Trevor King [Sat, 7 Aug 2010 14:18:48 +0000 (10:18 -0400)]
Fixes to polymer_fit plugin.
Changes:
* Docstring updates to FJC_PEG_fn now that we're back to Newton's method.
* Use start/stop to select relevant slices of z/d_data for fitting.
* Use rescaled ModelFitter fitting.
W. Trevor King [Sat, 7 Aug 2010 12:59:05 +0000 (08:59 -0400)]
Add ability to select multiple y columns to gui.panel.plot
W. Trevor King [Sat, 7 Aug 2010 01:19:47 +0000 (21:19 -0400)]
Don't die comparing 'Low Voltage Z' with 'ZLowVoltage' in picoforce driver
W. Trevor King [Fri, 6 Aug 2010 13:57:14 +0000 (09:57 -0400)]
Use 'Ciao scan list'/'@Sens. ZSensorSens' to scale picoforce z piezo data.
vs. my old 'Scanner list'/'@Sens. Zsens'. The new implementation
is equivalent to the pre-Trevor Volt -> meter conversion.
The values for test/data/picoforce.000 changed from
5.465e-08 m/V ('Ciao scan list'/'@Sens. ZSensorSens')
to
1e-06 m/V ('Scanner list'/'@Sens. Zsens')
1e-6 m/V is a suspiciously even number for a piezo sensitivity rating,
but the scaled graph of deflection as a function of cantilever
adjusted extension certainly appears more appropriately cantilever
corrected.
W. Trevor King [Fri, 6 Aug 2010 12:43:16 +0000 (08:43 -0400)]
Use cantilever adjusted extension in polymer fitting.
W. Trevor King [Fri, 6 Aug 2010 12:41:38 +0000 (08:41 -0400)]
Added CantileverAdjustedExtensionCommand to hooke.plugin.vclamp.
W. Trevor King [Fri, 6 Aug 2010 11:47:50 +0000 (07:47 -0400)]
Moved hooke.plugin.fit -> polymer_fit & updated to Plugin/Command architecture.
W. Trevor King [Wed, 4 Aug 2010 17:36:40 +0000 (13:36 -0400)]
Add support to GUI's property editor for argument.count > 1.
Now we only bail if the argument count is -1 (infinite).
Also fix a col,row -> row,col bug that was goofing up property
tooltips.
W. Trevor King [Wed, 4 Aug 2010 16:21:35 +0000 (12:21 -0400)]
Fix info.columns -> info['columns'] in vclamp.scale()
W. Trevor King [Wed, 4 Aug 2010 15:53:33 +0000 (11:53 -0400)]
Fix single-parameter rescaling in hooke.util.fit.ModelFitter
W. Trevor King [Wed, 4 Aug 2010 14:45:28 +0000 (10:45 -0400)]
Added rescaling option to hooke.util.fit.ModelFitter
W. Trevor King [Wed, 4 Aug 2010 12:12:53 +0000 (08:12 -0400)]
Remove 'data = ...' line from the end of vclamp.SurfaceContactCommand._run
W. Trevor King [Wed, 4 Aug 2010 12:11:17 +0000 (08:11 -0400)]
Expose 'conditons' config settings to plugins directly.
W. Trevor King [Wed, 4 Aug 2010 12:10:04 +0000 (08:10 -0400)]
Add better help string to 'conditions' config section
W. Trevor King [Wed, 4 Aug 2010 10:43:54 +0000 (06:43 -0400)]
Add `block` argument to hooke.plugin.vclamp.scale and only run required commands
W. Trevor King [Wed, 4 Aug 2010 00:01:55 +0000 (20:01 -0400)]
More cleanups to Setting/Argument type handling, mostly for count != 1.
W. Trevor King [Tue, 3 Aug 2010 20:26:37 +0000 (16:26 -0400)]
Broke type conversion out into hooke.util.convert and expanded its use.
W. Trevor King [Tue, 3 Aug 2010 19:38:21 +0000 (15:38 -0400)]
Added Licensing section to README
W. Trevor King [Tue, 3 Aug 2010 19:36:14 +0000 (15:36 -0400)]
Added string, bool, int, and float conversion to HookeConfigParser
W. Trevor King [Tue, 3 Aug 2010 18:06:17 +0000 (14:06 -0400)]
VelocityClampPlugin is a Plugin (not a Builtin)
W. Trevor King [Tue, 3 Aug 2010 17:03:47 +0000 (13:03 -0400)]
Fix swapped docstrings for CurvePlugin's DifferenceCommand and DerivativeCommand
W. Trevor King [Tue, 3 Aug 2010 16:57:34 +0000 (12:57 -0400)]
Use .index() instead of ._index for NoteIndexList access
W. Trevor King [Tue, 3 Aug 2010 15:18:54 +0000 (11:18 -0400)]
Bring hooke.plugin.tutorial up to date with Plugin/Command architecture.
W. Trevor King [Tue, 3 Aug 2010 15:16:36 +0000 (11:16 -0400)]
Fix NoteIndexList.index implementation and add NoteIndexList.items
W. Trevor King [Tue, 3 Aug 2010 15:05:33 +0000 (11:05 -0400)]
Add NoteIndexList.index() so other classes can avoid ._index
W. Trevor King [Tue, 3 Aug 2010 15:04:52 +0000 (11:04 -0400)]
Fix PointRequest and improve command line handling of selection and point requests.
W. Trevor King [Tue, 3 Aug 2010 15:03:45 +0000 (11:03 -0400)]
Fix run cleanup if the UI ends without clearing non-Hooke msgs from the Queue.
If the UI closes before the last command finishes (e.g. if bin/hooke
is run in a pipe), there may be cruft (e.g. CommandExit instances)
left in the engine-to-UI queue before the Hooke instance that the
CommandEngine appends on closing. The new implementation keeps
digging through the queue until it finds a Hooke instance, where the
old implementation only looked at the first message that came off the
queue.
Also added some useful debugging logs for UI<->Engine communication.
W. Trevor King [Tue, 3 Aug 2010 12:32:07 +0000 (08:32 -0400)]
Oops. Fix "'." -> ".'" in dependency warning message.
W. Trevor King [Tue, 3 Aug 2010 12:09:18 +0000 (08:09 -0400)]
Add dependency checking to hooke.plugin.load_graph
W. Trevor King [Tue, 3 Aug 2010 11:12:38 +0000 (07:12 -0400)]
Add multi-y TODO comment to gui.panel.plot
W. Trevor King [Tue, 3 Aug 2010 11:03:37 +0000 (07:03 -0400)]
Updated README tutorial reference and troubleshooting steps.
W. Trevor King [Tue, 3 Aug 2010 10:54:38 +0000 (06:54 -0400)]
Removed hooke/ui/gui/playlist.py, the last outdated .py file in .../gui/
The remaining gui.* submods aren't all updated to the current
architecture, but there shouldn't be any more file removals necessary.