Autoplot Application (#{tag})
Bird song rendered as spectrogram, and a context overview is used to zoom in. Images as annotations can now be scaled.
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 (2018-09-20 r22848):
- improve error feedback when DatumRange string is passed to the Datum parser.
- 2034: reset method must cancel existing monitors on the reset thread.
- 2032: extraneous decimal point in tick labels.
- peaks in stacked histogram renderer didn't clip properly. Thanks, Chris!
- 2029: cdaweb filter apply_esa_flag used old code that relied on monitor reuse, which is no longer allowed.
- 2029: CDF virtual variables would not load because of tighter handling of monitors and sloppy code.
- CDF source's slice1 parameter should better match |slice1.
- add TableRowSorter which minds the data type. Thanks, Masafumi for pointing this out!
- rename codes within CDF reader to be more consistent.
- completions work when coding in indented bug.
- 2025: HAPI GUI failed to initialize properly when the id was already set.
- rte_1870708520: catch runtime exception when trying to find aggregations.
- 2016: plot title macros should always listen to the first plotElement.
- Findbugs tests restored and a round of Findbugs citations were resolved.
- Auralizer code would show index out of bounds with some data, check for constant data.
- AggregatingDataSourceFactory.getFileStorageModel(uri) would fail if the uri didn't have any fields. Thanks, Ivar!
- Fits reader supports where default object is not a readable table.
- Matlab export options was using the IDL options dialog.
- horizontal and vertical slicers allow units sloppiness. Thanks, Chris!
- "clean" method removed from Matlab export to support compiling under Java 9. Thanks, Dan!
Older Bugfixes:
- removed bit of experimental code would fail to connect symbols when data contained non-monotonic tags, which was inadvertently released.
- 2022: new, more careful code had new bug where it could hang process.
- Corrections to handling of Socket Timeouts (server down), properly fall into offline mode when remote server is off-line.
- 2020: logging checkboxes were not initialized properly.
- 2021: clarification and correction of DataPointRecorder.select javadoc.
- 2022: minor clean-up in layout listener changes support, where one path would fail to see a change was still pending. (Bug 1022 lingers)
- Dan fixed Java 9 ambiguity with Class Module.
- 2017: bug where weights with incorrect rank would cause RTE on event thread, and replicate properly handles WEIGHTS now.
- rte_2038937185: correct the poor error message reported ("unrecognized units:00") for parseDatumRange('2017-001 03:00 to 02:00')
- confusing error message for dr[indgen(4)]=findgen(5), make more precise. Loosen test slightly, See "svn log -r22709:22710"
- FileSystem's unzip action now handles where NetCDF .jar file had missing files, issuing warning instead of crashing.
- 2015: show keystrokes for editor "find usages" and "plot" actions, corrections to "plot" action.
- corrections to "trim" filter GUI.
- rte 276343956: transitional case in "isSomeoneListening" caused RTE. Make local copies for thread safety.
- synchronizeOne now has same make-monotonic logic that synchronize(many) has.
- Matlab and IDL export methods check for non-qubes.
- 2007: aggregation of non-time-varying data. More issues found with single-record waveform files.
- javadoc popup in Jython editor was using old javadoc.
- HAPI uses server_list.txt now instead of all.txt.
- binAverage reduction method used old QDataSet form which is no longer used (indexed property vs slice then property).
- rte_0183234259: Corrections to Das2Server authentication dialog, such as NullPointerException and allow scientist to opt out when password is not known.
- rte 1924252302: "display data" mouse action correctly uses format specifiers found in data.
- SeriesRenderer, when data breaks exist on both sides of a valid point, would fail to draw the point.
- 1999: correct error message in ASCII when non-existent column is requested.
- new data set builder nextRecords function had a bug where 0th record was always copied. Thanks, Ivar!
- orbit files with gaps could not be used with orbit data source.
- CreatePngWalk command line has autorangeFlags.
- export-to-CSV uses FORMAT metadata and shows progress as the data is exported.
- 1682: CSV editor was adding extraneous question mark, corrections to editor such as column width and column names.
Features:
- checkCadence==False is respected by the spectrogram renderer with most rebin types.
- annotations now have scale property, to support 300dpi printing of externally rendered LaTeX.
- DDataSet slice checks for out-of-bounds on slice, producing a more readable error.
- CDF reader shows data types, record count, block size, and varies flag.
Less recent features:
- PoissonDistribution is now thread-safe, and multiple concurrent calls to PlasmaModel can be made.
- rfe460: cache cadence calculation in SeriesRenderer.
- logger verbosity settings can be saved for future invocations.
- rfe460: study performance of SeriesRenderer under extreme conditions, with the goal of removing Huge Scatter.
- ASCII dialog has "subset" tab with "where" GUI.
- server's prompt can be reset to include newlines to support buffered read by clients.
- "dataIntersection" function returns values found in two datasets.
- rfe619: all datasets have svalue accessor for rank 0 data.
- rfe460: add configuration setting which will always use Series for rendering, never Huge Scatter.
- add link to JNLP which will use 4GB on 64bit JVMs.
- rfe646: export to Matlab .mat files.
- Location of Java used to run Autoplot is displayed in the "about" window.
- Export-to-CSV no longer comments first line containing spectrogram channels, allowing the file to be used with Autoplot.
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.