4.93 (beta) ---- Added periodic sawtooth wave (SAWWAVE) to list of models that can be fitted. BSD port provided by Pedro Giffuni (I have not tested this yet myself). New plot mode:"AUTO". If the data have errors in either x or y then the data are plotted as error bars ("BARS"). If there are no error bars at all the the data are plotted by joining the data points with lines ("LINES"). The plot mode of AUTO is now the default rather than "BARS". The reset command also sets the plot mode to "AUTO". Added "help" button which starts web browser with default link to www.robotx.cx The default plot orientation is landscape rather than portrait. The command line option -portrait was added. Attempted to tidy up axes marking with big numbers (aa x 10^bb format) Added new model for fitting: DelayOrbit - astronomical orbit fitting. EXCISE - deletes points (completely) in selected rectangular region PDM - searches for periods using "Phase Dispersion Minimization" method. SUMHARMONICS - after a power spectrum has been calculated (and overwritten into the data arrays) then harmonics may be summed together in an attempt to reveal periods with strong harmonic components. Original data array is overwritten and truncated. ARRAYSIZE - if ARRAYSIZE argument is same as current setting no action taken (avoids a few crashes). Bug Fixes: - On at least one Debian 2.2 system font metrics were not being returned correctly by XQueryTextExtents which resulted in e.g. incorrect axis labelling. Replaced with XTextExtents. - Force text angle to 0 before "RULER" routine. - After zooming force XMIN, XMAX, YMIN, YMAX to have data min. and max. values rather than values of plot minima and maxima. - Some fixups for missing negative signs on labels in some circumstances. - Bug fixed related to PostScript output if "nice-symbol" plot mode used. - Crude fix to avoid hangs if click inside robot text area when defining e.g. DFLIMITS using cursor. - Diamond and filled-diamond symbols were offset in PostScript output by half a symbol size. 4.92 ---- Uses double precision throughout. Modifications to enable g77 to be used (works well with Solaris, under Linux using scroll bars caused a crash with some versions of g77 - f2c can be used instead). HISTOGRAM - create a histogram from the Y values. (Histogram of number of y values with specified ranges) PRINTFILE - specify which PostScript file will be written to when the PRINT command is executed. The output file name is automatically forced to have a trailing ".ps" PRINTDIRECTORY - specify the directory where the PostScript output file will be written. CLOBBER/NOCLOBBER - determines whether "WRITEDATA" can overwrite ("clobber") existing files or not. The default is NOCLOBBER. LANDSCAPE/PORTRAIT - force plot to be either in landscape or portrait orientation. New plot mode: ERROR-HISTOGRAM (aka HISTOGRAM2). Similar to HISTOGRAM but uses the x errors for forming the histogram. One use is for a data set where there is a gap. ERROR-HISTOGRAM does not draw a line through the data gap. Add Polynomial (ADDPOLY) - adds the polynomial function obtained with "Polynomial Fit" (POLFIT). (Arguably not necessary as one can fit and manipulate polynomials with the "Curve Fit" etc. options...) WREBIN - rebins the data as with REBIN but weights by the errors on the prebinned y values. The default line width is now 1 rather than 0 (i.e. smallest possible line width which is often too small). Bugs Fixed: Attempts to access an undefined variable now results in values of 0 rather than the value of the first already assigned variable. Better treatment of interactive editing of text when some text is not at zero degrees. Semi-colon separated commands had their arguments incorrectly processed. Prompting for coordinates for text location doesn't have spurious "Special Characters..." button. Decreasing a font size inside a text string gave incorrect behavior in unusual circumstances. Added check for infinite loops in median calculations. Miscellaneous: Increased hard-wired limit on maximum number of user defined variables from 10 to 100. Cursor coordinate display at bottom right of frame indicates if coordinates refer to text instead of cursor position. 4.91 ---- Pop up windows which prompt for input to a command also have a "Cancel" option which can stop execution of the command. Filling with patterns (tiling) possible. (For proper hard-copies PostScript language level of >= 2 required. Level 1 printers will use solid fill instead of tiling.) After a fit has been done from (e.g.) a file - can now load those models (as well as parameters) into the Fit Controller GUI via a button located there. RULER - interactively measures distances between points on a graph. Added new math functions: ASINH, ACOSH, ATANH Can use either "lpr", "lp", or "enscript" for printing. (Defined by the value of LPR in "Robot/Makefile" or "Robot/makefile.f2c") CURSOR and RULER commands use a "full plot" cursor. WBINFOLD - folds data into bins (like BINFOLD) but weights data by errors in calculating bin values and errors. Log files have #!(...)/robot as their first line and are executable. (e.g. so a log file can automatically start robot if desired on appropriate systems). - Requires that INSTDIR, the final location of the robot executable, is specified correctly in Robot/Makefile or Robot/makefile.f2c The default is presently /usr/bin/robot FLIP/FLIPPAGE - same as "Flip Page" button. That button also now stores "flip" command in log files. CENTERTEXT now centers in "y" as well as "x". Increasing array sizes with ARRAYSIZE should now not cause current data in arrays to be lost. Bugs Fixed: Discrepancy in ARC command between display and hardcopy. Some relatively obscure math functions were incorrect. Initial arrow angles were not set correctly on screen redraws if changed from defaults. Display of FITS table GUI would indirectly lead to program crash. Until a reset, grid (if selected) not displayed correctly. Small fixes to internals of color selector GUI. Fixed some problems with ensuring correct text angle maintained when switching between multiple plots. Scaling problems when empty plot switched between landscape and portrait. "Minor Tick Frequency" button could crash robot on some LINUX systems. "Linear Fit" checks sufficient points exist for fit and some pathological conditions. "Z Reset" menu item previously cleared screen instead of reseting Z array. Additional checks for divide by 0 caused by bad input. Look & Feel: "Print Now?" selector moved to immediately above Write/Print button. Added Centertitle/Righttitle/Lefttitle to pull down menus. 4.90 ---- Version number arbitrarily multiplied by 10! (Arguably gives a better reflection of the true status of the program.) Data arrays are now dynamically allocated. The command ARRAYSIZE changes the size of the data arrays. The default array size can be set with the command line argument: -arraysize [size] Can read from standard input. Either with the command STDIN or the command line option -stdin. Facilitates reading from a pipe. Can use a smaller plot window as the default (e.g. for small monitors). Command line argument is: -plotscale [scale] e.g. invoke robot with robot -plotscale 0.5 -scale small (The second standard argument reduces the size of the control panel). When Robot is running use the command PLOTSCALE. System mail (MAILER) and printing (LPR) routines are defined in a Makefile for better portability. On first use program may create a file ~/.robotxrc This is not currently used but may be used to store defaults in the future. As an experiment to attempt to gather information on program use, a request is made about whether you want to do an email "registration". POWER - Fourier transform for unevenly spaced data. FFT - Fast Fourier Transform for evenly spaced data. FFTMODE (Truncate/Pad/Nearest) - determines what is done for FFTs if there aren't 2**n points in data. OVERWRITE/NOOVERWRITE - determines whether results of Fourier transform overwrites data arrays or not. WEIGHTFT/NOWEIGHTFT - determines whether points are weighted by their errors in the POWER (but not FFT) routine. PLOTFT/NOPLOTFT - determines whether the (Fast) Fourier Transform is plotted on the screen or not. Additional math function: LOG2 RIGHTTEXT - plots right justified text PREDICT - after a fit has been done "PREDICT" gives the predicted "y" value for a given "x" value. FITDELTA - changes delta step size for calculating derivatives in fitting. Default value changed (more fits should work!) FILLEDCIRCLE - draw a filled circle. PLOT - alias for GOPLOT/G Added crude data editor. Several cosmetic changes to control panels including making the Fit Control panel generally smaller. OVERPLOT + OVERTYPE don't reset title or labels Command line argument of -v prints version number and exits. Y axis labels (in particular those containing "special" characters) are more accurately centered. Tick mark labels like "3.00E+02" are not quite as ugly anymore. 24 point size (TWENTYFOURPOINT) added to text size menu - seems to be appropriate for small plots in journals. If more than a predefined number of invalid commands are detected reading from a file, the read from that file is aborted (useful if you sometimes specify the wrong file as the input!) Robot appears to run OK on a DEC Alpha (OSF/1). (make alpha) Robot can compile on Solaris (make solaris) (Thanks to Blair Zajac and Alberto Meroni for patches) Galactic to RA Dec (GALTORADEC) - converts Galactic coordinates to Right Ascension and declination. Function "Z" for Z array. e.g. Z{3} is the value of the third point in the Z array. Manual also available as HTML (converted via latex2html) 0.48 ---- Bug fixes to enable robot to run under LINUX (free UNIX clone for IBM PC compatibles). WRITE - writes values of variables etc. Argument is a list of any valid parameters (e.g. write 2/3 a1+5 xmin mean). 0.47 ---- Added Zoom and Pan commands (ZOOMIN, ZOOMOUT, PANRIGHT, PANLEFT, PANUP, PANDOWN) and a control panel to access them. Amount of zoom and pan are controlled by ZOOMVALUE and PANVALUE. "Special" characters (e.g. Greek characters, math symbols) for text strings can be accessed via panel lists. Control panel added to help with creation/selection of sub-windows in the plotting area, sub-window gaps, etc. POLYFILL - draw a filled polygon. New plot mode: FILL. FILLSTYLE specifies how FILL works (e.g. fill to minimum, maximum, specified level etc.) Confirmation requested before a plot window is destroyed. Double clicking required on directories in file selector. No. of copies can be specified when printing. Multiple commands can be entered on one line separated by semicolons (;). IF tests work correctly inside LOOPs. POSITIONPLOT - set location of plotting window to a specified position on the screen. NEWPLOTAREA - create a new plotting area. Current plot area is retained. (Equivalent to existing panel button functionality). 0.46 ---- Any plot window can be made the current plotting area. i.e. old windows can be drawn to, printed, resized etc. (Use right hand mouse button in old plot area). CD - changes working directory. WINDOWGAP, XWINDOWGAP, YWINDOWGAP - specify spacing between sub-plots. Support for Japanese text (for hardcopy output requires that you have Japanese PostScript fonts installed on your printer). Command line argument of -notol (not Open Look) adds "Dismiss" buttons to windows to ease use with non-Open Look window managers such as twm or mwm. Clicking/dragging in current plot area displays coordinates in frame footer. Close down panel has "Clear log file and continue" option. ARROWANGLE - changes shape of arrow heads. 3DFILL/3DNOFILL - specify whether 3D plots fill all the plot area. CURSOR command also prints coordinates of nearest data point. Print control panel allows printer to be specified. Entries in file selector are sorted (Carlos Puchol). PLOTFILE command is now DATAFILE. (Although the old form is still recognized.) Aliases are included in a pull-down menu. (Invisible if no aliases are specified). Additional math functions: CEIL, FLOOR, ROUND, J0, J1. The parameters obtained from least squares fits and their errors can be accessed via the functions FITVALUE and FITERROR. 0.45 patchlevel 4 ----------------- Bug fixes plus added extra fonts (avantgarde, bookman etc.) 0.45 ---- Bug fixes to allow Robot to run on DECstations again. The plotting area is no longer attached to the command area. Additional plot areas can be created with previous ones retained for display (but old areas cannot be drawn to). The plot area has a menu associated with it (use right mouse button). Color can be changed inside a text string (\red, \green, \blue, \white, \black). Color change only applies inside the text string. Double clicking on a text string in the plot area enables it to be edited. A command line argument of -landscape brings up the plot area as landscape orientation. The default is portrait mode. Button added to switch between landscape and portrait. SolidLines, DashedLines, DottedLines and DotDashedLines - specify different line styles for drawing. ARC - draws circular arc POLYLINE - draws a series of connected lines. POLYGON - as above but connects first and last points. The main title position can be changed to the the top right, center or top left (default). (CENTERTITLE/CENTRETITLE, LEFTTITLE, RIGHTTITLE). SPLINE is now a plot mode rather than a separate command. "Plot" menu renamed "Draw". Draw commands can now use the right mouse button to indicate a new start position is required for the object. "^" as well as "**" is recognized as exponentiation. Division of plotting area into sub-windows (DIVWINDOW, SELWINDOW) also applies to 3D plots. Errors on data points are available via functions as input to commands e.g. xerr{10} is the value of the 'X' error on the 10th data point. 0.44 ---- Arrows in different styles and arrow head sizes can be plotted. Helvetica and Courier fonts also available (including bold and oblique styles). Additional symbols for PLOTMODE of "nice-symbol": Triangle, Filled-Triangle, Diamond, Filled-Diamond. Functions available now also include absolute value (abs), exp10, cube. Commands can be aliased using the ALIAS command and aliases removed using UNALIAS. NOALIASES removes all aliases. The previously entered command may be edited using a syntax similar to the C Shell: ^old_string^new_string^ CENTRETEXT/CENTERTEXT - plots a text string centered on a specified x position. Additional commands to give more flexibility in controlling axes: tick mark size, which axes are drawn, whether tick marks are external or internal. An additional command frame has been added to access these commands. TOPAXIS/NOTOPAXIS BOTTOMAXIS/NOBOTTOMAXIS RIGHTAXIS/NORIGHTAXIS LEFTAXIS/NOLEFTAXIS ALLAXES XTICKSIZE YTICKSIZE DEFAULTTICKSIZE EXTERNALTICKS INTERNALTICKS EXTERNALXTICKS INTERNALXTICKS EXTERNALYTICKS INTERNALYTICKS MINORTICKSIZE MINORTICKFREQUENCY. A compile time flag can be set to indicate that Robot should attempt to use US spellings for labels, commands etc. INCOMPATIBLE CHANGE FROM PREVIOUS VERSIONS: With the introduction of extra fonts the command NORMAL does not switch from the Symbol font to the Times-Roman font. Select another font family to stop using the Symbol font. 0.43 ---- Text style and size can be changed within a string through the use of sequences such as \if (italic font), \10 (10 point). Also super and subscripts - \up and \dn. Special symbols and Greek characters can be included. e.g. \{alpha}, \{infinity}, \{Gamma}, \{aleph} etc. (symbol names are patterned after TeX usage). Angled text on screen uses standard X fonts. Two new plot modes: Bar-graph and stacked-bar. A PLOTMODE of SYMBOL can use a text string (including special instruction sequences) as the symbol to be plotted rather than just a single character. OVERTYPE and TYPEMORE don't request plot labels - input is just data. Data points are available via functions as input to commands e.g. x{10} is the 'X' value of the 10th data point. Added Width 0 for line widths. This is now also the default. Line widths on screen and hardcopy should match more closely. PostScript output uses ISO encoding for default font (means a "-" is a minus and not a hyphen) 0.42 ---- Drag and drop from the file manager supported - FILE "filename" is executed or PLOTFILE "filename" if the file name ends in ".dat". WRITEDATA now only writes out data within the region selected for plotting. One or more files may be given as command line arguments (e.g. $ robot file.rob or $ robot file1 file2) This also enables you to get the file manager to run robot by double-clicking on a file if you set things up correctly using the "binder". Double clicking enabled in history list, file selector and other panel list items. PLOTFILE will now add ".dat" to a file name and try opening that if it can't find the file name as given. Titles and axis labels are more accurately positioned. 0.41 Changes ------------ File selector allows filters (e.g. ".rob" files); typing a directory name (including ~) will allow a change to that directory. Sending a postscript file directly to the printer does not now create a file in the current directory as well. Trying to create a file in a directory without write permission doesn't crash the program. A bug in creating postscript files which used a plotmode of "nice-symbol" was fixed. "!" may be used to repeat a previous command (similar to usage in the C shell). Commands stored in the "history" command frame can be edited. # is allowed as a comment in files. Extra error checking for monochrome machines. It is suspected (but not confirmed!) that robot 0.41 will build under version 2 of XView as well as version 3. 0.40 from 0.35 -------------- Incomplete list: Color used to plot data can be specified independently of rest of plot. Most recent commands (~10) can be repeated. Arguments of commands can include functions. "Draw" commands use rubber-banding. Two extra "draw" commands - CIRCLE and ELLIPSE. Two new plot modes: "PILLAR" and "ELLIPSE". Limited experimental 3D modes are included. Extra commands: (PAUSE, WAIT, FLUSH, MOVETO, LINETO). Postscript output can either be scaled to the page size or relative scaling (WYSIWYG) is maintained. File selection (e.g. for "FILE" and "PLOTFILE" commands) can be done via the mouse. Facility for emailing bug reports to author incorporated. Numerous small bug fixes and speed-ups.