Autoplot Application (20190107a)
Silhouette of Baobob trees made with where on image hue data. The script.
Autoplot attempts to allow plotting of data from many data sources, including remote CDF files and OpenDAP servers.
Datasets are identified with URIs, and by the URI's extension, data are loaded into the internal data model. Data are then
displayed by guessing the rendering method and axis ranges to provide a reasonable, useful view of the data. Data can then
be additionally processed with other operations like smooth and FFT, and Jython scripting provides a capable programming environment.
This is the Autoplot2018a branch. This is an update to the production version containing bugfixes and minor new features.
Java 7 is now required. Java 8 will be required sometime soon.
Run with 4GB of memory (64-bit Java only): autoplot_4GB.jnlp
Single-jar version, autoplot.jar, can be run without network access and from the command line.
Mac DMG Release is available.
Bugfixes (2019-01-07 r23178):
- findex non-monotonic check relaxed because it was slow.
- 2087: butterworth might use integer datasets, causing rounding errors which would make things unstable.
- ConvertPropertyValue 1 to Boolean.TRUE failed because the return statement was missing.
- one-record epoch would fail to slice delta_plus[1,1]. Thanks, Jon!
- make all the reduceMax-type functions take a progress monitor. Thanks, Ivar!
- asOrderOneUnits will prefer "2923 days" to "2.52550E14 microseconds" when the units are microseconds an arbitrary threshold was preventing this.
- don't convert units of string to datumRange if the range is incompatible with the context units, only if the range is dimensionless.
- update location for package list completions and example scripts to new Jenkins server.
- recent changes to Auralizer properties slowed things sufficiently that 44.1KHz couldn't keep up.
- AutoplotServlet build with Ant didn't work because file was not committed.
- 2078: colons in aggregations would cause problem in "reject" method, because of improper URI handling.
- test140 needed to reset colors after each .vap is rendered, or non-vaps would have leftover color.
- 2077: corrections to the contours plot. Thanks, Ivar!
- 2076: create pngwalk would show warning bubbles when print log level was OFF, because of typo in synchronize code. Thanks, Masafumi!
- 2074: vap+inline: supports vap+inline:1.23Re,10.21;1.28Re,10.22;1.31Re,10.23; and has tests http://jfaden.net/jenkins/job/autoplot-test147/. Thanks, Ivar!
- 0498: Ok, OK, Okay... Use just OK. Thanks, Bob!
- Orbits from rbspa-pp came from down server, which showed a bug where a second IOException would prevent redundant servers from filling in.
- DatumUtil.lookupDatum now handles strings without a space, like 45Kg, which often appear in vap+inline URIs. Thanks, Ivar!
- test140 explicitly loads files with UTF-8 encoding, to work around a bug where new Jenkins server mis-reports the content-type.
- correct where GUI was created off of the event thread, when script was run from the address bar.
- bug in extent prevented slices of rbspa_int_ect-mageisLOW-L3_20160411_v8.1.0.cdf?FEDU from showing. Thanks, Seth!
- 2073: load TSB blue and grey icons once, since looking up the icon from the classpath can be slow.
- 2073: cache plotElement controller GUIs, which were recreated as the focus moved around.
- 2073: remove old "panel" name, which have been known for years as "plotElements"
- 2073: avoid binding when the axis or data tabs are not visible, to support running scripts with app running.
- 2045: add method for invoking a script from another script.
- Corrections to HAPI export to match 2.0 spec. Thanks, Bob!
- doUnitsCheck needs to support rank 2 y-tags in a bundle.
- new code to add components to the front page could hang app because of event thread mishandling.
- rte_1025124270: JythonDataSource would attempt to attach a label to an immutable dataset, causing RTE.
- 2067: a multi-line colorbar label was not center-justified. Thanks, Ivar!
- rte_1659505011: improve feedback in the Bookmarks GUI, for example where you can "plot" a bookmarks folder.
- rte_0577071170: improve feedback with Jython Data Source when a non-plottable variable unintentionally selected. Thanks Kris!
- 2054: object leaks which occur as the GUI follows focus are corrected.
- 2066: check for negative font metrics getDescent, which would cause the axis ticks to clip.
- inspect button to look for .vap files works again.
- "run batch" cancel button cancels the sub-task.
- "Add additional ticks from" GUI now opens the editor with just "ok" button, not the "plot" button. Thanks, Bob!
- 2064: MMS mms1_edi_vdrift_gse_srvy_l2[:,1]&x=mms1_edi_t_delta_plus_srvy_l2&y=mms1_edi_e_dsl_srvy_l2[:,1] works properly now, where reform flag was incorrectly set. Thanks, sritam!
- "Open Local File" would only show files when "show all" was selected. Thanks, Bob!
- 2063: "convertUnitsTo" didn't properly reset the DOM range, when it reset the implementing DasAxis range. Thanks, Masafumi!
- LICENSE.txt should be LGPL, not GPL.
- scripting reset method didn't reset undo/redo operations, potentially causing object leaks.
- 2062: Run batch facility didn't properly set PWD, causing runtime exception.
- 2054: any NullPointerException when a leftover thread assumed the controller reference was still valid.
- 2058: reset needs to reset id number sequencing.
- don't allow URI parameters to be preceded or followed by spaces, improving support for cut-n-paste from emails.
- 2025: corrections to initialization of HAPI dialog.
- 2059: check for inconsistency when BINS_1 is used along with BUNDLE_1 imply differing units.
- timeranges like 'lastday+P1D/P1D' now work, to represent "tomorrow". Before only "lastday-" was handled.
- 2058: devel release showed bug where not resetting IDs would cause failure in "clone to new application" and pngwalk generation. Thanks Ivar and Masafumi!
- next and previous scan button updating was calling the 2-D bounds code when it only needed a bounds on X, causing performance issues. Thanks Masafumi!
- add recCount and recStart controls to CSV reader, so that create png events lists can be subsetted. Thanks Masafumi!
- 2056: tickleTimer would restart timer while its event was running, which for slow events can cause threads to build up, slowing or crashing machine. Thanks, Masafumi!
- filenames with colons (data_2019-01-01T00:00.dat) would not allow relative reference launch. Now colons past the eighth position are ignored. Thanks, Chris!
- 2053: timerange macro doesn't update as timerange changes.
- "delete plot" didn't check to see if there were columns which could be deleted.
- in DataPointRecorder's reset units, handle when nominal units are used in the table. Thanks, Bill!
- 2051: rank 2 ytags was slow, when looking at a tiny slice in x. Thanks, Masafumi!
- 2052: improve support for datumRange, URI, and URL parameters in Jython scripts, when creating GUIs.
- introduce reduceSum which is like total but skips invalid values, and reduceMedian. Thanks, Ivar!
- AudioSystem data source supports export, so data can be sent directly to the sound system.
- issue warnings when ports are used with SFTP, since this isn't supported.
- Auralizer has scale property which can be set to false.
- WindowManager tracks the application size and position.
- new lockDomainDivider axis property avoids jumping when the tick spacing is known to be correct.
Less recent features:
- plot element style properties dialog now has cancel which will revert to original settings.
- see Source Forge
- Bugs often have a four-digit ID and can be reviewed with https://sourceforge.net/p/autoplot/bugs/<ID>/.
- Features typically have a three-digit ID and can be reviewed with https://sourceforge.net/p/autoplot/feature-requests/<ID>/.
This completes the feature set for the new production branch. No major features will be added before branching this version.
A production branch will be started in a couple of weeks, and the "Start Autoplot" link at the top of
autoplot.org will run this version.
Feedback on the function and quality of this release is greatly appreciated!
Data is input from:
- ASCII files (.dat,.txt)
- CSV files (.csv)
- Binary files (.bin)
- CDF files(.cdf)
- Excel spread sheets (.xls)
- das2Streams (.d2s or .das2Stream)
- ViRBO's TSDS server
- CDAWeb data server (vap+cdaweb:)
- das2servers (vap+das2server:)
- QStreams (.qds), QDataSet on a das2Stream
- Plasma Wave Group das2 Server
- NetCDF files (.nc,.ncml)
- HDF5 files (.h5,.hdf5)
- DODs servers (.dds)
- Cluster Exchange Format files (.cef)
- Fits Format Files
- Images (.jpg, .png, .gif)
- Wav audio files (.wav)
This is not complete, and limitations include:
- Quantities of rank 3 dimensionality (e.g. flux(Time,Energy,pitch) are plotted by slicing.
- Quantities of rank 4 dimensionality (e.g. flux(Time,Energy,azimuth,sector) are plotted by slicing twice.
autoplot.org is the wiki website, and contains
more information than this launch page.