Autoplot Application (#{tag})
jnlp WebStart : Open JDK and Java 8 through Java 11 launch mechanism, 64-Bit Java will improve capabilities.
Single-Jar : .jar files can be launched on Windows and Mac, and contain a shell script for launching on Unix computers.
dmg : a self-contained installer for Mac computers.
exe: a self-contained installer for Windows computers. (Production releases only)
Read-only PNGWalks can now be annotated with the PNGWalk Quality Control tool.
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 v2021a branch. This is an update to the production version containing bugfixes and minor new features.
Java 8 is now required.
Run with 1GB of memory to support 32-bit Java versions, and run off of ci-pw build server: autoplot_1GB.jnlp
Bugfixes (2021-11-18 r26241):
- 2409: Old bug where append( trim, trim ) wouldn't account for offsets post-trim is fixed. Thanks, Sadie!
- 0143: account for timetag cadence in metadata tab, so rapid MMS timetags can be distinguished. Thanks, Ivar!
- 22: Annotation "point at" mouse drag action didn't paint properly. Thanks, Ali!
- 2413: RENDER_TYPE in inline URI isn't handled properly.
- 2409: append where two datasets have different fill values is handled properly. Thanks, Sadie!
- GrannyTextRenderer custom painters were not given the correct font for calculating boundaries.
- Autoplot-based HAPI server properly formats string data into fixed-width field, trimming UTF-8 encoded Unicode characters.
- undo/redo support reworked to avoid synchronized blocks that could hang Autoplot. Thanks, Sadie!
- 2411: reducexWaveform allows reduction of entire packets and uses BIN_MIN and BIN_MAX. Thanks, Bill!
- 2410: address bar inspect button becomes insensitive while editing a URI, so that people don't get confused when two editor windows pop up. The
- 2409: append where two datasets have timetags of cdf_epoch and tt2000 would cause runtime exception. Thanks, Sadie!
- changes to support pure-Java Autoplot-based Das2Server.
- rfe758: Granny Text Editor button added to "add annotation" dialog.
- flatten rank 3 join code wasn't pushed into Git for the devel release, whoops...
- data with CDF_EPOCH and CDF_TT2000 timetags could not be concatenated. Thanks, Sadie!
- completions can cull the getters and setters in some cases.
- 2401: never replace a saved .jy script with a .jyds. Thanks George and Sadie!
- simplifyScript wouldn't handle subscripts properly, causing runtime error when completions were triggered.
- Canvas Size GUI on style tab cleaned up, so manual size can be entered in inches or centimeters.
- Jython script trace run (where it executes line by line for debugging) handles multi-line strings.
Older Bugfixes (2021-10-15 r26125):
- 2402: Correction to reducex, where xtags should have been made uniform.
- 2401: eq with nominal units produces runtime error. This is now supported. Thanks, Ivar!
- 2400: Don't paint opposite axis if there is a different axis there already.
- 2195: LANL NN render mode didn't work when tags were monotonic decreasing.
- 2134: support for negative step, useful in scripts to flip over arrays.
- annotations dialogs have link to documentation.
- 1659: in CDAWeb when dataset does not have master file, subTaskMonitor.finished was called twice.
- 2400: white-line-on-white-plot still draws to support when a contrasting color is under the plot. Thanks, Ali!
- 2400: manual ticks ignored the minor ticks in "1,5/2,3,4,6,7,8,9". Thanks, Ali!
- 2399: invalid timerange got into history causing confusion.
- correct misspelling of indices in Ops Javadoc. Thanks, Ivar!
- 2398: monotonicSubset sets MONOTONIC to True, working around the problem Kristoff saw.
- 2397: New Javadoc, still unpublished, supports extra characters like "Returns ex -1."
- 2394: IDL reader properly reads in array of strings and structure data following a string array. Thanks, Lindsay!
- IDL reader support completions are corrected so automatic GUI is fixed.
- 2391: Jython dataset setItem was overly cautious in its check for units, seriously degrading performance. Thanks, Bill!
- correction to where datum having units is assigned to dimensionless dataset in Jython.
- Jython scripts encoded in UTF-8 with non-breaking spaces are handled now by replacing with normal spaces. Thanks, Cindy!
- 1028: ds[x,y,z] where x y and z are rank 1 list of indices didn't allow negative indices.
- 2390: correction to logic for copy plot elements down, which would break in some cases. Thanks, Allison!
- layout tab list of plot elements wouldn't repaint when the legend label was changed.
- revert log/lin ticks logic, which is needing more time than available.
- "regex mode" for ASCII table parser would clear the units, limiting capabilities.
- Corrections to add plots and fix layout. Now only plots attached to the marginColumn are used for the layout.
Features:
- experiment allowing writes with GitHub-based FileSystems with a local clone.
- qcturl property allows the Quality Control files to be written to another place, so that read-only pngwalks can be annotated.
- OdlParser matured to start supporting .sts files.
- Granny editor supports img control strings for inserting images.
- Granny editor supports psym control strings for creating legends.
- expandToFill gaps is more manual and under control. Thanks, Bill!
- Granny strings allow experimental !(painter;psym) to support drawing the legend with annotations. Thanks Sadie and others who have asked for this!
- Support for x_colorLookup extension in HAPI support, which looks up color for nominal data.
- AutoplotServlet has blacklist to block out areas like "file:/var/uploads."
- AutoplotServlet's ScriptGUIServlet calculates console output as well, progress bar is coming.
- GrannyTextEditor ctrl+unicode char button will insert the unicode character, not the unicode escape sequence. Thanks, Bob!
- flatten supports rank 3 array of tables, to support Cassini RPWS data.
- 758: introduce editors to property editors, and special editor for autoRangeHints.
- 2405: option to review and edit code before paste, with variable rename. Thanks, Sadie for the suggestion!
- 758: introduce editor for Granny Text Strings.
- allow the connect timeout and read timeout to be reset from default of 5 and 60 seconds.
- 757: backgroundThick and fillStyle can be specified in the .vap
Less recent features:
- 757: plot.colorbarColumnPosition property added, so that the colorbar can be pushed over to make room for a second axis.
- Text strings can contain <u> for underlining text.
- NetCDF provides completions for x= and y= controls.
- Jython editor has beginnings of annotations for differences.
- GitCommand introduced to wrap calls to command line git, and native Java git is coming.
- 754: aggregation can handle in-context timetags where just hours-since-midnight is in file. Thanks, Sadie!
- 727: private GitLabs/GitHub projects can be used with ro_cache.txt mechanism. Thanks, Sadie!
- Meyers diff introduced to support showing changes between two text files and eventually data sets, using com.github.difflib.
- 456: external changes in script are automatically loaded without confirming this with the scientist.
- "AP> print 'hello'" works at the command line, to support copy-n-paste from references which contain "AP>" prompt.
- join(extent(),extent()) is properly formatted as two ranges.
- Introduce Units.us2020, for use when microsecond precision is needed around 2020. Thanks, Kristoff!
- IDLSave reader uses %d format for integer data.
- IDLSave reader corrections to read array of strings, automatically detect ISO8601 data.
- more accepting of HAPI servers under development, issuing warnings to help find problems.
- applyIndexAllLists extracted from Jython code and made available to Java codes as well.
- filter editor panel added for expandToFillGaps. Thanks Bill!
- 18: new logic for log ticks when ~1 cycle is showing.
- "About Autoplot" screen shows the release number, not the marginally useful v2021. Thanks Bill!
Known issues:
- 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.