Autoplot Application (20200125a)
Polishing silver with Autoplot. Script is used to extract small portion from two images for comparison.
Autoplot allows 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 Autoplot v2020a 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 (2020-01-24 r24501):
- Ephemeris which did not contain LABEL property used the NAME property instead, but layout code didn't have this logic, clipping the display.
- 2169: properly handle X,Y,Z scatter and X,Y scatter schemes. Thanks, Chris!
- digital renderer would draw text which was outside of the axis bounds, reducing performance.
- 2232: Script editor would load data instead of script when "script=" keyword was used.
- NybbleDataSet slice operator was not implemented. Thanks, Chris!
- AUTOPLOT_DATA setting would not reset pycache area location. Thanks, Darren!
- new SHADE error bar mode didn't consider case where first point was not valid. Thanks, Masafumi!
- round of findbugs cleanup.
- occasional NullPointerException when loading particular .vap files, caused by beans binding, is handled. Thanks, Kris!
- clean up of warnings issued to stderr unnecessarily with magnitude function.
- Single-record spectrograms could not be sliced to show the one record. Improve feedback when no record is found. Thanks, Ivar!
- bugfix: 'insert plot elements from clipboard plot' dialog was not centered on app.
- improve feedback in TimeParser, trivial performance and code clarification.
- 1687: completions bug where extra line prevented come completions fixed, support third-line completions when continuation is used.
- LANLNearestNeighbor supports non-monotonic ytags.
- 2228: migrate preference's get wouldn't check the old location for a value, so old prefs like data cache location could be lost. Thanks, Ivar!
- 2227: Jython fixImports never closed input file, relying on OS to implicitly close the file and preventing some operations on Windows. Thanks, Jim S.!
- rte 1638285244: guard against strange index-out-of-bounds with JTable when digitizing. Thanks, Ivar!
- 2225: new app steals editor panel from old app. Thanks, Ivar!
- 2222: clean-up of orbit mode style properties editor. Thanks, Ivar!
- 2221: CDF editor dialog gives incorrect warnings when rank 3 data has rank 2 depend_2. Thanks, Arnaud!
- Edit->Options now brings up editor for options node, since Options->Additional options already brings up the specialized editor.
- Edit->Duplicate Window would resize the new application improperly.
- ScriptGUIServet printed the labels twice for checkboxes.
- when enabling new features, use status bar to remind that "save options" must be invoked.
- 2216: options.colortable now allows scientists to specify colorbar preference.
- 0786: server can now be stopped by either the Autoplot app or by the client issuing "close".
- calling createGui() from Python would result in null pointer exception because object had not been created before focus change.
- don't obscure IOException, which was hiding SSLException.
- tiny blue/green button tooltip refers to ctrl-T and ctrl-D, improve feedback for mouse over. Thanks, Chris!
- resetting the DasPlot's DasAxis calls update ticksV on the new axis.
- 2126: in basic mode, loading vap doesn't reset selector to URI.
- suppress warning when URL is not found for parameter in CDAWeb's all.xml.
- new NullPointerException, caused by careless code in total which assumed there was a DEPEND_2 property. Thanks, Jon N.!
- rte15951983: selecting "basic" mode twice would result in a runtime exception.
- Matlab/IDL/Python interface needs to consider unit preferences, so it is consistent.
- 2126: Basic mode prevents URI references from getting into the DataSetSelector, which is confusing.
- 1991: when loading vap, immediately check that all IDs are unique and references resolvable.
- .gz files found within .zip files are can be read in.
- binary data source add the percent to the format, supporting ...&format=c, so that percent need not be within the URI. URI encoding is tricky with percents.
- vap+audiosystem: would record for twice as long as it needed to.
- catch IndexOutOfBounds when events renderer sees an empty dataset (ds[0,4]).
- Run Batch tool replaces " " in output names with "_" so that filenames don't break. Thanks, George!
- add read timeouts on CDAWeb web service calls.
- 20191023a had new bug where reducex would drop DEPEND_1.
- v2019a_10 had bug where CDF files containing both zvariables and rvariables could not be read.
- check VARIABLE_PURPOSE in CDF Metadata when filtering parameter list.
- 707: CDF reader supports multiple variables to be read into a bundle, GUI supports multiple selection.
- 672: CDF virtual function "arr_slice" is added.
- 705: environment variable "AUTOPLOT_DATA" can be used to reset data and configuration location.
- Jython script editor "inspect URI" mouse menu item now senses exportDataSet and uses the format editor GUI instead.
- 704: autoplot --script ... --help will print the script's arguments.
- 704: add support for boolean Jython parameters (True/False instead of 'T'/'F').
- 2223: contours plot has new line style property.
- 1801: add wordy but fast implementation of magnitude for rank 2 and rank 3 datasets.
Less recent features:
- 2222: add new tickDirection property to orbit mode, one of left,right, or outside (the default).
- 2222: tickValues property added to Das2 TickCurveRenderer (used for orbit mode), to be consistent with DasAxis and ContoursRenderer.
- removeFill function added.
- CDF editor dialog summary abbreviates depend names with common suffix.
- ScriptGUIServlet now uses whitelist file.
- highlight the green/blue pushbuttons on mouseover, to better indicate the intent.
- Basic mode more aggressively protects the address bar from URI references, so that the scientist can reenter .vap and .jy references.
- "http://autoplot.org/jnlp/v2019*/screen.png" can be browsed with the PNG Walk Tool.
- 360: allow color type in jython script parameters.
- 334: allow where constraint to have slice, so Z component can be used to filter with URIs like ...&where=BGSEc[:,2].lt(0)
- 360: allow either values or enum to be used in script parameter constraints.
- popup slicers have write to PDF button.
- 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.