Autoplot Application (20150114a)
Binary file reader is used to read image from Juno camera data.
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 Autoplot2015a 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.
- In PNGWalk, set window ancestor properly for "Unable to find any images" message.
- plotx(2,'vap+inline:ripples(20)') would always plot in the 0th position.
- support fill in non-ISTP HDF files, using _FillVal metadata.
- 1306: automatically set the width of any time columns in export to Excel.
- remove stderr noise from WriteIDLSav.
- 1305: das2server URIs would loose their parameters, because TSB.getURI was called before getDataSet
- 1304: Partial vap support introduced bug where linestyle setting would be reset for time series browsing.
- synchronize cdf reads because of occasional RTE shown in test500.
- das2server reader _res switch is not sent to the server.
- rte_2124254968: Das2Server editor panel allowed folders to be selected, causing RTE. Thanks Dan!
- dashed property was reset when browsing to the next day.
- Add pow and sqrt to list of filters. Thanks Allison!
- Fix CDAWeb demo in thin client
- In PNGWalk, NullPointerException when image with time axis was digitized, but the granule didn't have a corresponding timerange, (e.g. *.png)
- 1303: jyds scripts with SimpleServlet. Allow relative reference to scripts/data/, introduce whitelist.txt.
- correct progress feedback in demo 1
- 1302: indicate busy when Autoplot is launched with URI. There was a ~5 second period where no feedback was provided.
- 1301: redo mechanism that resolves the same file downloaded from two Autoplot instances, by allowing simultaneous loads and resolving the results. Thanks, Bill!
- 1300: strange export data behavior on Mac, where somehow discovery mechanism was getting the wrong type
- 1299: where trimProperties would drop the original properties
- fix the labels for Seth's data with Rank 2 DEPEND_1, where stack of lineplots were not given unique labels
- 1251: reuse of monitors
- 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!
- 1098: improve feedback as to where the two timeranges options are coming from in the query.
- 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
- 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.
- completions servlet will support the thin client.
- das2server data source code supports 401 and conventional authentication
- add intrinsic=true to das2server data source.
- add leap second for July 1, 2015
- update RBSP orbits to 2015-01-13
- Start more Jemmy GUI testing. Thanks Kenzie!
- logging cleanup
- Code cleanup in Java CDF library
- Filters editor panel provides small GUIs to control each filter.
- Add smoothfit function to filters.
- don't include iconified window area in CreateScreenShot code
- Introduce Jython writeToSvg to support future servers.
- Update to the new version of CDFJ library
- 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.
- 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') ) 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.