Autoplot Application (20141218a)
Two PNGWalk Tools are bound together to build a tool for inspecting the results of nightly tests.
Autoplot attempts to allow plotting of data from many data sources, including local files and OpenDAP servers.
Datasets are identified with URIs, and by the URI's extension a module is used to load the data into the internal data model. Data is then
displayed by guessing the rendering method and axis ranges to provide a reasonable, useful view of the data.
This is the Autoplot2014a branch. This is an update to the production version containing bugfixes and minor new features.
Java 6 is now required.
Single-jar version, autoplot.jar, can be run without network access and from the command line. Note CDFs are only supported
via the Java-based reader and Autoplot will attempt to use it when the C-based version is not available.
SourceForge has changed the numbering of all the bugs. If you go to the page
https://sourceforge.net/p/autoplot/bugs/, "Search Bugs" in the upper left corner can be used
to resolve old numbers.
- bugfix: pickFont can return null.
- revert the message about varying slice locations.
- fix hang when thumbnailer code would get stuck in infinite loop (with small canvas).
- fix failure to update when canvas size is set explicitly.
- bugfix: rank 1, one-element DELTA_PLUS in vap+cdaweb:ds=C3_PP_CIS&id=T_p_par__C3_PP_CIS
- bug with rank 1 data and data gap for ephemeris ticks resolved. Thanks Joe!
- bug 1098: improve feedback as to where the two timeranges options are coming from in the query.
- bug 1295: get rid of Thread.sleep use by using new java.util.Timer aptimer.
- contoursRenderer accepts pre-contoured data, like the output of the contours filter
- CDFJ getPlottable was returning the LABL_PTR_1 variables, when it shouldn't be
- 214: correct for bold and italic when printing
- bugfix: filters recentComboBox didn't show the new value. I think it has always like this, but I just noticed this with the new editor.
- restore inspect (browse) behavior for .jy files.
- 1291: filters loose ranging too easily
- bugfix where &script=foo.jyds would be lost when entering the Jython datasource editor
- cleanup of hudson tests test017 and test021.
- rfe405: a number of the hudson tests showed problems in corner cases.
- bugfix in fits where height and width were exchanged.
- rfe405: Kristoff pointed out where new code ensuring monotonic from aggregations would clip almost all the data.
- improve handling and transparency when PDSPPI is down
- bugfix 1290: jython script editor left in read-only mode
- Correction to the CDAWeb plugin URL used, thanks Tami!
- aggregation works with ordinal data again.
- reform just returns the dataset when there are no indeces with just one element, thanks Bill!
- minor corrections to d2s parsing when each plane has a name
- the result of aggregations will now always be monotonically increasing.
- rte_0253344792: catch code fragment unintentionally evaluated with highlite in Jython editor. Thanks Kristoff!
- CDF where supports rank 1 where with rank 2 data.
- script name appears in stack traces now, to aid in debugging
- Improve support for ordinal data in CDF where keyword.
- get completions only returns completions where plottable=true, so scripts can once again verify contents of CDF files.
- legend plot symbol for dotdash linestyle was barely visible. Thanks Kristoff!
- das2server with stream defect could leave client in endless loop
- 1284: round of cleanup with PNGWalkTool
- 1288: setDepend0Cadence supports join-of-qubes datasets
- bugfix: restore ctrl+mouse wheel pan behavior.
- bugfix in aggregation completion, where the path is not part of the completion.
- rte_1930845582: xds.length()!=yds.length() in odd branch of SeriesRenderer guess cadence. Thanks Jeremy!
- rte_1635938883: NullPointerException for new users when entering pngwalk. Thanks Chris!
- 1281: linestyle settings not set properly for pngwalk, clone to new window
- 1282: CDF LABL_PTR_2 when the data is rank 2
- NoDataInInterval exception on das2stream is treated the same as with QStreams.
- autoranging in ImageDataSource didn't account for explicit scaling, which would prevent Pngwalks from being run.
- 1277: initial delay caused by bindings
- getDataSets method for Jython loads multiple datasets in parallel
- SIUnits class finally included in release to help with maturing that code.
- FileNotFound with HTTP shows file not found from automatic .gz attempt, not the original
- bugfix in concatenate, where join of FDataSets would cause cast exception
- vap+audiosystem now returns elapsed seconds instead of trying to calculate UT time
- catch missing rank and name tags in QStreams
- 1272: (rte 1771804608) new users would see failure to check for null pointers when creating folders. Thanks CORYB and lesidaner!
- 1265: Don't reload remote scripts into the editor when the local copy is already showing. Show fscache scripts as read-only.
- Hanning window had off-by-one error making it asymmetric
- 1270: improve labels for Tools bookmarks. Improve handling of .jy for tools
- 1270: Beware: any tool in the Tools bookmarks is trusted, including remote bookmarks!
- formatBookmarks formats to temp file then moves result
- asterisk in new folder of bookmarks tool fixed.
- 1229: Apache HTTP automatic unzip/gzip. Improvements to get this working.
- put in label to show the canvas size in inches or centimeters.
- minor improvements to getParam insert in Jython editor.
- add branch for total(dsr2,1) where dsr2 is a rank 2 dataset, to get BMag from components of huge magnetometer dataset.
- experimental reluctantLegendIcons=true (autoplot_data/config/system.properties) hides icon when there is only one renderer
- URIs update with TSB, removing mistakes the old URI would cause.
- Export now supports aggregation
- New Pure-Java CDF library is in production, improving speed and memory use. Old library is removed.
- update RBSP orbits
- setDepend1Cadence added
- ImageDataSource keyword plotInfo=1 leverages JSON metadata to extract plots from images with lost data or vap files.
- Two PngWalkTools can be bound together to make comparisons of like filenames.
- PngWalkTool1 is finally renamed PngWalkTool
- SimpleServlet supports non-file resources like vap+inline, vap+jyds is disabled.
- PNGWalkTool supports digitizing, add jump to selected and white/black lines
- script parameter can now be relative path (e.g. --script=myscript.jy)
- addPlots(2,'below') in jython scripts
- any URI ending in .png .jpg or .gif that contains an asterisk is handled by the pngwalk tool
- add shift+mousewheel nudge behavior
- das2servers can return non-200 error codes.
- PNGWalkTool digitizer looks up plot coordinates when axis metadata is found.
Less recent features:
- initial coding to use NIO for CDF reads, which will be faster and take less JVM memory.
- add setDepend0Cadence to filters
- introduce trim( ds, dataset('2013-03-03'), dataset('2013-03-04') ) and in filters
- display URL in SPASE record Space/Granule/Source/URL/text node.
- new code for python debugging and new filters dialogs added, but these are still under development
- add fog parameter to ImageDataSource, so that an image can provide context competing with overplots
- marsx orbits added to time range editor.
- vap+inline: data editor table has editable cells
- 393: das2server list responses can contain human-readable descriptions.
- --server keyword replaces --port keyword, indicate server status on title bar.
- add randu functions, since Matlab "rand" is ambiguous.
- introduce merge command for safely combining datasets
- improvements to the orbit plot, including properly binding color and thick.
- Tools bookmarks editor rebranded "Tools", avoid problem where address bar is reset to the script name.
- introduce save_cdf and restore_cdf intended to replace save and restore commands in IDL with non-proprietary format.
- jython editor shows python doc blocks in popup completions.
- secret button for switching dataSetSelector/timeRangeSelector
- improve gap detection in orbitPlot
- orbitPlot supports renderControls like color and lineThick.
- 391: aggregation trims datasets so that result is monotonic
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.