Autoplot Application (20180606a)
Binary reader is used to quickly reverse engineer a DICOM file of an x-ray.
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 Autoplot2017a 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.
Single-jar version, autoplot.jar, can be run without network access and from the command line.
Mac DMG Release is available.
Bugfixes (2018-06-06 r22509):
- 1995: corrections to code which aggregates qstreams containing nominal data.
- 1996: correction to caching code which would fail to unload data from memory to hard disk, causing out-of-memory exceptions.
- rte_0761821100: CDF gui attempts to clarify error message about rank 2 DEPEND_0. Swap description of parameter when X or Y tab is selected.
- drop the render type property when param[:,0] is read.
- minor tweaks to HAPI GUI, to improve transparency.
- output console's click-on URL is too easy to trigger, causing confusion. Make double click.
- GUI logger would get extraneous events because of Autoplot printing thread. Check for these and log with lower verbosity.
- 1994: orbit timerange could not be used as the default timerange in scripts, because it would not recognize the correctly formatted time.
- 1987: remove incorrect warning about width and height parameters used with -v in AutoplotServer.
- AutoplotDataServer hapi-csv response is now properly streamed.
- FormatDataSet properly trims HAPI responses, used by AutoplotDataServer.
- 1861: back off automatic conversion until Jython 2.5 is used, Java 2.2 is too aggressive in using the conversion and old scripts were breaking.
- format to CDF properly supports rank 2 depend 1 and supports rank 4 data.
- HAPI export format properly formats to HAPI 2.0, which requires "Z" in timetags.
- 1871: recent entries of timeranges and operations were lost because of new code that appends the recent file using a move.
- use ISO-8859-1 encoding with Jython output, so that micro symbol paints properly.
- 1988: link command, used all over the place, would always copy Z when link(x,y,Z) was used, wasting tons of space...
- 1989: msec vs ms in testing. Canonical units (e.g. ms) are always displayed.
- "degrees" and "Degrees" are now equivalent.
- 1987: revisit height and width parameters of AutoplotServlet. Thanks, Jon!
- horizontal slicer is now able to "plot above", though there is no way to swap out the label.
- export to HAPI (and AutoplotServlet HAPI output) is properly marked as 2.0.
- rte_1578811180: "Getting started" dialog was missing image resource since package renamimg. Thanks, Dapit!
- Pngwalk's resizeImage code doesn't resize if the dimensions don't change, which happens often.
- "Run Batch" didn't handle URL-type parameters correctly.
- rte_0176698267: mishandling of URIs in new JythonExtensionDataSource. Thanks, Larry!
- 1984: error in inspecting .vap file would clear the address bar, destroying the scientist's URI.
- rte_0395859275: whoops, new code in branch was never tested for "/home/jbf/<TAB>" where NullPointerException was encountered.
- rfe 545: entries for resourceURI were incorrectly used to create the current directory.
- format to QStream supports events data sets.
- JythonEditorPanel resource URI file chooser will restrict the extension listed based on the example resource URI.
- about:plugins report is sorted alphabetically.
- keep track of delegate's scheme ("vap+xxx") when aggregating, to support WDC (World Data Center) files, other issues.
- downloadResourceAsTempFile supports user:pass in URLs.
- 1981: sequence where histogram operation should have unbound the timeaxis.
- tweak the logic for autorange hints "center" and "width"
- rte_1634285758: NullPointerException when annotation is added when a connector (context overview) is visible.
- run batch tool resourceURI argument list generation initial directory is improved.
- format the channel labels for array of vectors when exporting to CDF.
- 1897: allow some, but not all, plots to autorange when creating pngwalks.
- 1672: annotations were triggering a repaint, so it was repainting continuously.
- formatDataSet command checks for prefix so that the extension can be different than the format.
- yaxis switch mishandled in image data source, units can now be non-dimensionless. Thanks, Chris!
- 1975: route to generate hang in export for new users because "/..." was default filename, not "file:/..." Thanks, Chris!
- more tweaks to the Mashup tool where drag source is considered when replacing child node.
- bugfix with completions, RTE when tot=nn*nn was used and nn not properly culled.
- 1956: limit off-screen drawing of event bars, which can result in PDFs which don't import well into MS Word. Thanks, Bill!
- "now" supported in low-level parse time. Before only application-level parsers would handle this.
- Annotation has URL property, to avoid text="http://..." kludge and allow text to be used to document web address.
- FileUtil.fileCopy of A to A would destroy the contents of A!
- PNGWalkTool's make HTML would fail miserably when the result was written to the same folder as the pngwalk.
- 1973: experiment with clearing the focus URI when script or .vap is run.
- 1972: "reset" method cancels all the tasks it knows about.
- mashup starts with "ds" for the first tree, so that is valid.
- logspace function added.
- DataServer implemented as servlet to improve performance.
- DataSetBuilder nextRecord supports rank 1 string data.
- clicking on http and https links in the console tab will point the browse (Firefox,etc) to the link.
- Radio JOVE community AJ4CO_RAINBOW colorbar is added, using a subset of its 4096 colors. (4096 color version should be available soon.)
- CSV Data Source supports streaming. AbstractDataSource has "getInputStream" method to support streaming subclasses.
- medianFilter supports rank 2 data, performing the operation on slices of the 1st axis.
- add units "mjd" (for days since midnight, Nov 17, 1958) as a default for the ascii table data source.
- "overplotOf" added to plot command.
- sps and spd readers have a built-in code in case there is no internet.
- maximum number of bundled datasets allowed is increased to 96 from 50, to include HOPE data. Thanks, Seth!
- jnlp file registers .pngwalk with the desktop.
- QStreams have new "enumerationUnit" tag within packetDescriptor to avoid old kludgey method for encoding nominal datums.
- rfe545: run batch tool shows the success/fail for each task.
- Vertical averager mouse tool has export data function. Thanks, Seth!
- AutoplotUI has getDom() method, to support Jython properties like ap2.dom.timeRange.
Less recent features:
- rfe632: New "jython extension" readers for World Data Center files and Radiojove .sps and spd files. Thanks, Masafumi!
- Axes have "reset zoom" menu item.
- AutoplotServer supports autorange keywords to match createPngWalk, to support groups which make one image at a time.
- tighten security on Autoplot servlet, so that eval and import statements are not allowed.
- Series rendering mode supports fill below reference and fill above reference. Thanks, Kris and Ivar!
- rfe629: experiments with nominal level and warning level lines in series renderer. Thanks, Jon N!
- expandWaveform filter added, to aid in browsing waveform data with low duty cycles. Thanks, George!
- rfe515: new makeColorTable command, for use with plot command. Thanks, Masafumi!
- draw the last QC message below the full-sized image.
- New url property of Annotation clarifies use, and allows URL to cache image of LaTeX-rendering site, and LaTeX code can be stored in the text for safe-keeping.
- HAPI client will use "If-Modified-Since" request header and supports 304 (not modified) responses, when caching is enabled. Thanks, Bernie!
- audiosystem data source allows control of sampling rate.
- add "bind scale to opposite axis." Isotropic should no longer be used.
- add "normalize" function. Thanks, Allison!
- add inverse_white_blue_black. Thanks, Masafumi!
- DasAxis now has "reference" property which will draw a line at the reference. Thanks, Kris and Ivar!
- add two more symbol connection styles, requested by Ivar.
- allow "45 Deg F" + 2 = "47 Deg F"
- mashup tool shows jython code for collapsed nodes.
- Autoplot servlet supports HAPI data sources.
- inverse white-blue-black colorbar added. Thanks, Masafumi!
- 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.