Autoplot Application (#{tag})
Having fun with RGB to HSV conversions. Here's 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 (2018-08-28 r22750):
- 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.
Older Bugfixes:
- rte_1148065736: check for bad division with Huge Scatter.
- poor feedback when bundle parameter was used with ascii ("bad parameter: rank2" was indicated).
- binary data source editor uses scrollbars when there are many columns.
- make export data set more consistent between types, calling maybeMkdirs so the folder is created.
- support where CSV column header contains units, like "50 Hz"
- 2004: HAPI editor panel would sometimes switch servers, because of thread mishandling.
- completions on Jython variables where constructor is used works again.
- improve error feedback when dataset('6 to 7') was passed into histogram2d, where the argument was a rank 0 enumeration and not a range.
- null pointer with hapi caching corrected.
- export-to-CDF failed when TT2000 data had fill value. Thanks, Ivar!
- 2002: gt(r0ds1,r0ds2) is now supported, avoiding confusion. Thanks, Kristoff and Ed!
- in pngwalk tool, autorange after loading vap if the autorange flag is set.
- rte 1055121094: exporting ephemeris data to qds, when data column contains format specification. Thanks fallegrini!
- tweak formatting used when printing numbers in metadata tab. Thanks, Ivar!
- when index lists are used to access high-rank dataset, check that all lists have the same length. Thanks, Ivar!
- 2001: CDAWeb skips over 1-record CDF files to avoid bug where time-varying DEPEND_1 is lost.
- With CDAWeb, when DEPEND_1 was time-varying, incorrect warning message about length mismatch is no longer shown.
- corrections to new expandToFillGaps filter.
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.
Less recent features:
- rfe643: allow autoplot_data/config/jsyntaxpane.properties to reset the colors used for the editor, allowing dark editors.
- DasAxis reference can now be a comma-separated list of datums.
- FileStorageModel now has getNames(datumRange) and getRoot(), to support use in IDL.
- catch when CDF has validmin>validmax, and print a warning rather than refusing to plot the data.
- allow pngwalk digitizing when zoomed in on image.
- time range controller has "rescale" property, which is accessible to scripts.
- rfe641: HAPI caching experiment where request is broken up into daily requests so that caching is more effective.
- SeriesRenderer can now be used as a delegate to allow use in scripts.
- More anchor positions, including OutsideS and OutsideSSW, OutsideW.
- DataSetBuilder has new nextRecords function, which accepts multiple records, to avoid confusion caused by use of putValues function.
- U. Iowa group's RangeLabel and CollapseSpectrogramRenderer is now compiled in.
- bug2000: abs now returns units when the data is ratiometric.
- add more positions for annotations, like "West" and OutsideSSE.
- allow no-record DELTA_PLUS, issuing a warning, to aid in development.
- expandToFillGaps process added.
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.