Category: 2-D Plotting
  • DRAWCIRCLE - Draw a circle centered on [x0, y0]. YOU HAVE TO HAVE YOUR AXES ESTABLISHED BEFORE CALLING THIS. Return out arrays for later drawing on a surface, too. These are in two parts, so you won't have a line down the middle when drawing.
  • DRAWELLIPSE - Draw an ellipse centered on [x0, y0]. YOU HAVE TO HAVE YOUR AXES ESTABLISHED BEFORE CALLING THIS.
  • FINDRATZ - Find the r of desired Z, but on the outer part of curve, if there is more than one point that would cross Z=desiredZ. Use spline interpolation.
  • FOLLOWCONTOUR - Follow a contour line to find where it intersects a desired Y and return the X value. I.e., where the 2D input array has the same value as at specified coordinates. This is used to find the R value at Z=0 with the same Psi value as a specified point on the flux surface. So, it can be used for plotting things in relation to flux surfaces.
  • OPLOTDASH - Overplot a variety of dashed lines, even if terminal emulator doesn't for different linestyles
  • PLOT3_MPTS - Make 3 Multi-point Thomson Scattering Plots: 2-D plots of electron Temp and Density and a time history.
  • PLOTDASH - Plot a variety of dashed lines, even if terminal emulator doesn't for different linestyles
  • SHADE_SURFRANGE - make SHADE_SURF plots with x & y ranges (correctly)
  • SHOW3M - Show a 2D array three ways in a display that combines SURFACE, CONTOUR, and an image (color/gray scale pixels).
  • SURFRANGE - make SURF plots with x & y ranges (correctly)
  • TH_IMAGE_CONT - Plot contours of Images with both contour lines and colors
  • TVIMAGE_CONGRID - Shrink or expand the size of an array by an arbitrary amount. This IDL procedure simulates the action of the VAX/VMS CONGRID/CONGRIDI function. This function is similar to "REBIN" in that it can resize a one, two, or three dimensional array. "REBIN", however, requires that the new array size must be an integer multiple of the original size. CONGRID will resize an array to any arbitrary size (REBIN is somewhat faster, however). REBIN averages multiple points when shrinking an array, while CONGRID just resamples the array.
  • TVIMAGE - This purpose of TVIMAGE is to create a device-independent TV command with the power and functionality to be used in sophisticated graphics programs, as well as at the IDL command line. It can be thought of as a "smart" TV command.
  • VECTORSURF - Shows a fancy way to plot irregulary spaced data from x,y & z vectors.
Category: Animation
  • ALPHAMOVIE10 - Plot every 10th frame in time, and overlay 10 d-alpha traces. Have a marching vertical line indicating time in a plot indicating the Strike Point Radius.
  • ANIM2CINE - Create an mpeg or avi movie from two .cin files from Phantom Cameras. The data can be color or monochrome
  • ANIMXYPLOT - Animate X-Y plot of a 2-D array
  • CINE2MPEG - Create a movie from a .cin files from Phantom Fast Cameras. Will default to writing jpegs and spawning jmovie to create a QuickTime movie. If /MPEGout keyword set, will write an MPEG. The data can be color or monochrome,
  • CINEAVE - Produce an average frame from a time ranged from .cin files from Phantom Fast Cameras. This frame is typically used to divide GPI images by to get normalized image.
  • DISPLAYFCTIFFS - Animate Fast Camera images with the time overlayed
  • FCDCMOVIES - Plot Fast Camera and Divertor Camera images along with EFIT field lines, and, optionally, Thomson Scattering Density and Temperature. You may also plot H-alpha (or another) signal vs. time.
  • FCTIFFSVCR - animate Fast Camera tiffs with VCR-like controls. from the resulting widget, you may write an Mpeg file
  • FCVCR - Plot Fast Camera images with a VCR-like interface
  • MK_MPEG - Write a sequence of images from a 3-D array, or a series of tiff files, as an mpeg movie.
  • MPEG_FROM_SCREEN - Example of creating a color Mpeg animation with text overlayed. Works on both 8-bit and 24-bit monitors. Can read from files, but those returning 24-bit data will not have the text overlaying option.
  • MPTSCAM - Animate several plots, including MPTS variables
  • WRITE_MPEG - Write a sequence of images as an mpeg movie
  • XANIMJPEG - animate jpegs (or other image files) in a VCR-like widget, which can make an MPEG Movie.
  • XEASYANIM - animate 3-D array and optionally make MPEG Movie
  • XIA - Display an animated sequence of images using X-windows Pixmaps. The speed and direction of the display can be adjusted using the widget interface.
  • XYANIM - Animate a series of X-Y plots. Makes an animation in a XINTERANIMATE window. An MPEG file can then be saved, or the movie can be played with VCR-like controls
Category: Bits
  • BITS - Given a byte or integer, return a vector of 8 or 16 values which are the binary representation of the value.
  • BTEST - To test bit N in FIX(X)
  • DECODE_GRAY - Convert a gray-code value to an integer
  • MK_BITARRAY - Create an array of 1's & 0's corresponding to input bits set (works for negative numbers, too, unlike similar routines)
  • SHOWBITS - Given a byte or integer, return a vector of 8 or 16 values which are the binary representation of the value.
Category: blobs
  • BLOBBINRANGES - plot bins of one variable vs another from blob database and drawn ranges, of say 90%, in Y for each binned point. See http://nstx.pppl.gov/nstx/Software/Applications/blobDBdefs.txt for an explanation of variables and units of database variables.
  • BLOBTRAILS - draw trails of blob trajectories that go through a certain region of the image. Data comes from a database of blob characteristics for a given shot, and perhaps just part of a shot (see populateblobs.pro).
  • LOADBLOBS - calls many routines used for loading blob tracking info into a database and making plots and output files
  • PLOTBLOBVYVSBIN - plot a series of vertical velocity traces vs. time from the blob database. Each trace will be from a horizontal range
  • POPULATEBLOBS - Read a file created from fcplayer.pro with columns of blob characteristics vs time. compute frame-to-frame statistics like x & y velocity and duration, based on "reasonableness" factors, like maximum movement per frame allowed. Velocities are recomputed after parent-child relationships determined, so the velocity tracks can be smoothed. (loadblobs.pro can be used for all the steps needed to populate the database.)
  • SAVEBLOBS - Save blob tracks, just like FCplayer, but easier and faster. Usually called from LoadBlobs.pro.
Category: Colors
  • BETTERRAINBOW - Loads a rainbow color palette with 6 evenly-spaced (roughly) colors
  • COLORSEARCH - Return color index (or closest available) from the color name.
  • DECOMPOSEDCOLOR - This function is used to determine, in a device independent way, if the current graphics device is using color decomposition. The function returns a 1 if color decomposition is turned on, and a 0 if it is turned off. When color decomposition is turned on, we say the device is using a true-color display. If color decomposition is turned off, we say the device is using an indexed color display.
  • MK_COLOR - Create color tables with 12 fixed colors at the top. These colors can be referenced by name.
  • STRETCHSTEPS - stretch parts of the color tables into steps.
  • WHITEOUT - white-out a portion of the color table -- defaults to the 5 lowest locs.
Category: Compound widgets
  • CW_BGROUP3_6 - CW_BGROUP3_6 is a compound widget that simplifies creating a base of buttons. It handles the details of creating the proper base (standard, exclusive, or non-exclusive) and filling in the desired buttons. Events for the individual buttons are handled transparently, and a CW_BGROUP3_6 event returned. This event can return any one of the following: - The Index of the button within the base. - The widget ID of the button. - The name of the button. - An arbitrary value taken from an array of User values.
  • CW_PDLIST - A compound widget that simplifies creating pulldown menus. It has a simpler interface than the XPDMENU procedure, which it is intended to replace. Events for the individual buttons are handled transparently, and a CW_PDList event returned. This event can return any one of the following: - The Index of the button within the base. - The widget ID of the button. - The name of the button. - The fully qualified name of the button. This allows different sub-menus to contain buttons with the same name in an unambiguous way.
  • CW_PDMENU - CW_PDMENU is a compound widget that simplifies creating pulldown menus. It has a simpler interface than the XPDMENU procedure, which it is intended to replace. Events for the individual buttons are handled transparently, and a CW_PDMENU event returned. This event can return any one of the following: - The Index of the button within the base. - The widget ID of the button. - The name of the button. - The fully qualified name of the button. This allows different sub-menus to contain buttons with the same name in an unambiguous way.
Category: Database
  • DB_COLUMNS - list database tables and columns in which the column name contains a string.
  • DB_LIST - List info from an NSTX Database Table; especially to be displayed in output from a Web Tool database, like http://nstx.pppl.gov/nstx/Software/WebTools/searchefitdb.html. Searches from a database will be MUCH faster than from MDSplus trees.
  • LOGBOOK_LIST_PLUS - List info from the NSTX logbook (to a screen or file)
  • LOGBOOK_LIST - List info from the NSTX logbook (to a screen or file)
  • LOGBOOK_OPTIONS (COPIED FROM LOGBOOK_OPTIONS) - List info from the NSTX logbook (to a screen or file)
  • SYB_ENTRY - : Display/modify/create entries in the NSTX logbook database.
Category: Dates
  • ADDDATE - Add days to a date. Tries to return string in same form as input
  • DATE2JD - Convert a date string to Julian Day number.
  • DATE2YMD - Date text string to the numbers year, month, day.
  • FILESHOTDATE - Print time and date of an NSTX shot, but get data from a file
  • FILETIME2DBTIME - Return times in filetimes format in database format
  • FROMIDLSECONDS - Convert from IDL-syle time (output from SYSTIME(1), to form of '06/14/2004 11:04:52'
  • FROMIDLTIME - Convert from IDL-syle time (output from SYSTIME(0), to form of '06/14/2004 11:04:52'
  • GETFILETIME - return creation date and time of a file (not sure atime and ctime are right, for files from a PC)
  • HOURS2TIME - Return time string like 23:59:05 from floating point hour value
  • ISOTIME - Return time in ISO 8601 standard, assuming US East Coast. (handles Daylight Savings time)
  • JD2DATE - Convert a Julian Day number to a date string.
  • JD2YMD - Find year, month, day from julian day number.
  • LONG64DATE2STR - Return date from a 64-bit longword, like 1112308040, as returned from file_info, in a more conventional format.
  • LONGDATE2STR - Return date from a longword, like 20060218, in a more conventional format
  • MDSSHOTDATE - Print time and date of an NSTX shot.
  • MDSTIME2DBTIME - Convert date & time from MDSplus to database format
  • MONTHNAMES - Returns a string array of month names.
  • MONTHNUMBER - Returns a month number given a month name.
  • SHOTATTIME - find the NSTX shot number closest to a certain time
  • SHOTSOFFILES - Return MDSplus shots (based on creation time) of files
  • TIME2SEC - Return times in seconds since Ja. 1, 1970
  • TIMESOFSHOTS - return dates and times, like 12:26PM, of NSTX shot
  • TOIDLTIME - Convert a date string to IDL time (output from SYSTIME(1), i.e., seconds since 1/1/1970
  • WEEKDAY - Compute weekday given year, month, day.
  • YMD2DATE - Convert from year, month, day numbers to date string.
  • YMD2JD - From Year, Month, and Day compute Julian Day number.
  • YRMONTHDAY - Return a string of YYYYMMDD from a date string.
Category: EFIT
  • CALCBTBP - Calculates toroidal and poloidal magnetic field values (Bt & Bp) at desired R & Z and desired time by reading data from the EFIT (or similar) MDS+ tree. (Bt is also refered to as B-phi.)
  • EFITMOVIES - Plot EFIT field lines, Thomson Scattering Density and Temperature and, optionally, Fast Camera images. Instead of Fast Camera, can plot H-alpha (or another) signal vs. time.
  • GETEFIT - Procedure to get efit data from A0 and G0 file or from MDSPLUS. This can be used as a front end to the usual reada and readg. It prints out a message if the efit data does not occur for the desired value of DELTIME. It does not return any data unless time window requirements are met.
  • GETSEP - Get the separtrix (last closed flux surface) R & Z values from EFIT or LRDfit for a particular NSTX or CMOD shot. Interpolate surfaces in time. Can also return R & Z of limiter interior. Also works for CMOD shots (tree opened elsewhere).
  • HIGHESTEFITRUN - find highest efit version run (in the MDSplus tree) Checks up to 5, and contigously after that
  • INTERPEDGE - Interpolate separatrix in time. From EFIT or LRDfit, find R and Z values of last closed flux surface (separatrix) for a particular NSTX or CMOD shot. Can also return R & Z of limiter interior. Also works for CMOD shots (tree opened elsewhere).
  • PECOMP - Interactively compare PCS and EFIT signals for a shot
  • PLASMAEDGE - From EFIT or LRDfit, find R and Z values of last closed flux surface (separatrix) for a particular NSTX shot and time. Optionally save to a file.Also will plot limiters and last closed flux surface with axes. Can also return R & Z of limiter interior.
  • PSIINTERP - From EFIT or LRDfit, get psi of a flux surface contour at a particular shot and time and R & Z. Then, find the R position of that same psi value at Z=0.
  • SEPVSTIME - Get the separtrix (last closed flux surface) R & Z values vs. time. from EFIT or LRDfit for a particular NSTX or CMOD shot. Can also return R & Z of limiter interior.
Category: EPICS Channel Access Interface
  • CAGETCOUNTANDTYPE - This function returns the number of elements and data type of a Channel Access process variable.
  • CAGET - This function reads the value of a Channel Access process variable.
  • CAGETTIMEOUT - This function returns the value of the EZCA Timeout parameter. This value determines the time parameter passed to ca_pend_io() in EZCA. In conjunction with the EZCA RetryCount parameter it determines how long EZCA will try to connect to a process variable before giving up.
  • CASETTIMEOUT - This procedure sets the value of the EZCA Timeout parameter. This value determines the time parameter passed to ca_pend_io() in EZCA. In conjunction with the EZCA RetryCount parameter it determines how long EZCA will try to connect to a process variable before giving up.
  • CAGETRETRYCOUNT - This function returns the value of the EZCA retry count parameter. In conjunction with the EZCA Timeout parameter it determines how long EZCA will try to connect to a process variable before giving up.
  • CASETRETRYCOUNT - This procedure sets the value of the EZCA RetryCount parameter. In conjunction with the EZCA Timeout parameter it determines how long EZCA will try to connect to a process variable before giving up.
  • CAPUT - This procedure writes a new value to a channel access process variable.
  • CASTARTGROUP - This procedure starts an "asynchronous group". Within an asynchronous group all calls to caGet and caPut are asynchronous, i.e. they queue a request and return immediately without waiting for a reply from the channel access servers. Calling caEndGroup causes the queue to be flushed and waits for the replies. The use of asynchronous groups can greatly improve the efficiency of channel access. The user must be aware of the restrictions on caGet outlined under the description of that routine.
  • CAENDGROUP - This function ends an "asynchronous group". See caStartGroup for more information on asynchronous groups. caEndGroup flushes the queue of caGet and caPut calls and waits for replies from the channel access servers.
  • CASETMONITOR - This procedure sets a monitor on the specified process variable. This causes a channel access callback to execute whenever the value of that process variable changes. Subsequent calls to caGet() after calling caSetMonitor will read the values provided by the callbacks, rather than reading from the IOC.
  • CACLEARMONITOR - This procedure clears a monitor on the specified process variable. It cancels the effect of caSetMonitor().
  • CACHECKMONITOR - This function returns a non-zero value if there is a new (unread) monitor for this process variable, otherwise it returns zero. This function is particularly useful when a caGet() operation is expensive in time, e.g. reading large arrays.
  • CADEBUG - This procedure turns the EZCA debugging flag on or off. Turning on the debugging flag prints lots of information, which is mainly useful to developers.
  • CATRACE - This procedure turns the EZCA trace flag on or off. Turning on the trace flag prints lots of information which is mainly useful to developers. Setting the trace flag results in less verbose output than setting the debug flag (see caDebug).
  • CAGETENUMSTRINGS - This function returns all of the choice strings associated with a Channel Access "enum" process variable. It is particularly useful for building menus of options.
  • CAGETCONTROLLIMITS - This procedure reads the control limits for the specified channel access process variable.
  • CAGETGRAPHICLIMITS - This procedure reads the graphic limits for the specified channel access process variable.
  • CAGETPRECISION - This procedure reads the precision for the specified channel access process variable.
  • CAGETSTATUS - This procedure reads the status parameters for a channel access process variable.
  • CAGETUNITS - This procedure reads the units string for the specified channel access process variable.
  • CAERROR - This procedure controls error printing and returns error strings.
  • CAVERSION - This function returns the string of current version information about ezcaIDL
  • CAINIT - This routine sets the channel access timeout used by list array functions defined in ezcaScan library.
  • CAPENDEVENT - This function causes the Ezca to call channel access ca_pend_event function.
  • CAPENDIO - This routine sets the timeout used by ca_pend_io in array get/ put used in ezcaScan library.
  • CATIMESTAMP - This function returns the time stamp of corresponding value for the specified record name.
  • CASEARCH - This function searches for a list of process variable names. It returns 0 if successful, returns -1 if failed.
  • CAGETERROR - This function get CA return codes for a list of process variable names. Return code can be 0 or -1, 0 for success, -1 for failure.
  • CAGETARRAY - This function reads values for a list of Channel Access process variable. It returns 0 if successful, returns -1 if failed.
  • CAPUTARRAY - This function writes an array of data to a list of Channel Access process variable. It returns 0 if successful, else retuns -1.
  • CASCAN - This function provides add/get/zero/clear monitor features on a scan record and a set of PV names.
  • CAMONITOR - This function provides Add/Get/Check/Clear monitor features on a single PV or a list of PV names.
Category: Events
  • EXECONEVENT - Widget to spawn an executable (with shot as argument) when an MDSplus event occurs. An IDL routine can also be spawned with shot as the only argument, or any IDL command string executed.
  • MONEVENTS VERSION TO RUN IN BATCH MODE. - Widget to monitor occurrence of MDSplus events & optional Shot #, if passed with the event declaration. The time of the event can also be displayed.
  • MONEVENTS - Widget to monitor occurrence of MDSplus events & optional Shot #, if passed with the event declaration. The time of the event can also be displayed.
  • WATCHEVENTS - Widget to monitor occurrence of MDSplus events. If all events do not happen before next occurance of first event, send e-mail.
Category: files
  • FDECOMP - Routine to decompose a file name for any operating system
  • FILE2STRUCT - return a structure where elements are named with column headings, and arrays are the columns
  • FINDCAMFILES - Find camera files in various directories Environmental/System variable FC_DATA_DIR will be used, if set, to look for files containing the string in 'filename'
  • GETNEXTFILE - get next file in a directory, defaulting to alphabetic search
  • H5DFROMTEXT - create a H5D file from a text file with columns of data
  • MKDATEDIR - Make a directory of the form YYYYMMDD (if it doesnt't exist) and move files there if the files were last modified on that date.
  • MK_FILENAME - File names with system independent symbolic directories.
  • MVSHOTRANGEDIR - Put files fitting a certain partern into a sub-directory of the form nnnn00s, where nnnn00 represents a shot range, e.g., 114100s whould contain shots 114100-114199.
  • NUMLINES - Return the number of lines in a file
  • READ_ARRAY - Read a numeric array (1-D) from a text file
  • READCOL - Read a free-format ASCII data file with columns of data into IDL variables. Lines of data not meeting the specified format (e.g. comments) are ignored. Columns may be separated by commas or spaces. Use READFMT to read a fixed-format ASCII file. Use RDFLOAT for much faster I/O (but less flexibility).
  • READ_FLOATS - Read a list from a text file and return a floating-point array
  • READ_GENERIC - read an image from a variety of types of files
  • READ_LIST - Read a list from a text file and return a string array. Will ignore lines beginning with a semicolon, but will will return blank lines.
  • READ_NUMBERS - Read a numeric array (1-D) from a text file
  • READ_QUOTED - Reads a file and returns anything between first two quotes.
  • READ_TABLE - Reads a table file, like from a spreadsheet.
  • RMFILESBYDATE - Remove files not modified since a certain date
  • SPEC_DIR - Provide a complete file specification by appending a default disk or directory if necessary.
  • WRITE_GENERIC - write an image to the appropriate type of file, based on file extension
  • WRITE_TEXT - Write data to a text file
Category: GAplot
  • GA_DATA - A GA_Data object defines a dataset Y as a function of X. It can be drawn on a Plot defined by a GA_Plot object.
  • GA_DATA::GETXRANGE - Retrieves the range of X data.
  • GA_DATA::GETYRANGE - Retrieves the range of Y data.
  • GA_DATA::SETPROPERTY - Sets the value of a property or group of properties for the GA_Data.
  • GA_DATA::GETXNAME - Retrieves the name of X vector.
  • GA_DATA::GETFLAGAUTOLABEL - Retrieves value of FlagAutoLabel
  • GA_DATA::GETYNAME - Retrieves the name of Y vector.
  • GA_DATA::GETLABEL - Retrieves the label of this dataset. If not set, use YName. Can be overridden by subclasses to supply automatically generated label. FlagAutoLabel is provided to facilitate this.
  • GA_DATA::GETXDATA - Retrieves abscissa vector X.
  • GA_DATA::GETYDATA - Retrieves ordinate vector Y.
  • GA_DATA::GETCOLOR - Retrieves the color index associated with this data set.
  • GA_DATA::GETSYMBOL -
  • GA_DATA::GETSYMBOLSIZE -
  • GA_DATA::GETLINESTYLE -
  • GA_DATA::GETLINESTYLENONE - Retrieves linestyle index for 'NONE' (no line).
  • GA_DATA::GETPLOT - Retrieves the GA_Plot object that contains this data object.
  • GA_DATA::DRAW - Overplots this data set onto a Plot that has been established by a GA_Plot object.
  • GA_DATA::ADD_TEXT - Add a text annotation defined by GA_AnnotateText object that will be drawn together with this data object onto the plot object.
  • GA_DATA::DELETE_TEXT - Deletes a text member from the data object.
  • GA_DATA::SET_TEXT_PROPERTY - Sets the parameters associated with a text annotation object.
  • GA_DATA::INIT - Initializes the GA_Data object.
  • GA_PLOT - A GA_Plot object draws graphs of its data members. It is a container of GA_Data objects. If it has more than one data object member, the data members are overlayed. A plot object can be thought as a wrapper to IDL's PLOT command, keyword values to the PLOT command are preserved as plot object's or data objects' members. A plot object is plotted on a window created by a GA_Plot_Window object which may contain several plot objects.
  • GA_PLOT::GETDATASELECTED - Retrieves the selected data object. A data object can be selected by clicking near to the data points with Left-Mouse-Button in 'Select' mode.
  • GA_PLOT::SELECT_DATA - This method retrieves a particular data object associated with this plot object. A data can be selected by name or by index number.
  • GA_PLOT::SET_DATA_PROPERTY - This method allows you to change the parameters associated with a particular data object. You must specify a particular data set by passing the object reference to the data set. (This can be obtained with the GA_Plot::Select_Data method.) If a data set object is not specified as the data member, the first data set is used by default.
  • GA_PLOT::GET_DATA_PROPERTY - This method allows you to retrieve the properties of a data member belonging to the plot. Data member is identified by passing its object reference (which can be obtained with the Select_Data method). If a data member is not specified, the first data memeber is used as a default.
  • GA_PLOT::ADD_DATA_OBJECT - This method allows you to add a GA_DATA or GA_DATA3 object to the plot object. The data object reference is returned. See also GA_Plot::Add_Data
  • GA_PLOT::ADD_DATA - This method allows you to add another data object to the plot object. Properties of the data object may be set with the method's keywords. Extra carries any keywords acceptable by Ga_Data[3]::Init. A new data object will be created and the reference is returned. See also GA_Plot::Add_Data_Object
  • GA_PLOT::DELETE_DATA - This method allows you to delete a data set member from the Plot Object. The data set may be specified by indicating its NAME, by indicating its POSITION (index number), or by the data OBJECT itself. (See the Select_Data method for more details about a data set's NAME and POSITION.)
  • GA_PLOT::AUTO_RANGE - Set data ranges automatically according to data. This is needed for multiple data sets. Set both xrange and yrange by default.
  • GA_PLOT::ADD_TEXT - This method adds a text annotation to a specified location on the plot.
  • GA_PLOT::SET_TEXT_PROPERTY - This method allows you to change the parameters associated with a text annotaion object. The textMember is the index number of the text object. All text members are used by default if no textMember is specified.
  • GA_PLOT::DRAW - This method draws the Plot Object, including all of the data members included in the Plot Object.
  • GA_PLOT::SETSLICEMODE - Set mode for data slicing. For a GA_Plot object, the plot can be used as a slicer to slice through other GA_Plot3 objects in the same window. The data in this plot will not be sliced because there is no third dimension. See also GA_Plot3::SetSliceMode
  • GA_PLOT::SET_PLOT_PROPERTY - This method allows you to set the standard Plot properties. If the DRAW keyword is set, the plot will be drawn after the new properties are set. (See the Init Method for a more complete explanation of these Plot properties.)
  • GA_PLOT::GET_PLOT_PROPERTY - This method allows you to obtain the standard Plot properties from the Plot Object. (See the Init Method for a more complete explanation of these Plot properties.)
  • GA_PLOT::GETWINDOW - This method returns the GA_Plot_Window object that the plot object belongs to, for EditCallBack purpose.
  • GA_PLOT::GETDATAOBJECTS - The method returns the array of data objects stored in this plot object.
  • GA_PLOT::INIT - This method initializes a GA_Plot object. Standard properties are set with positional and keyword parameters. The routine makes GA_DATA objects from the data passed into the method. Use the Add_Data method to add additional data sets and the Delete_Data method to remove data sets from the Plot Object. Data inside the data objects can be modified with the Set_Data_Property method. Think of this initialization routine as a wrapper for the PLOT command. Use keywords appropriate for the PLOT command in making the call.
  • GA_PLOT_WINDOW - A GA_Plot_Window is a compound widget with a draw window that contains one or several GA_Plot[3] objects. Plots can be added or deleted. The window object handles plot layout, coordinates, preference and properties configurations, mouse events and draws all the plots through their own draw methods.
  • GA_PLOT_WINDOW::RESTOREPREFERENCES - Restore user's preferences from file specified by PreferencesFile. This file is always in user's HOME directory.
  • GA_PLOT_WINDOW::SAVEPREFERENCES - Save the current settings to user's preferences file specified by PreferencesFile. This file is always in user's HOME directory.
  • GA_PLOT_WINDOW::SETCHARSIZE -
  • GA_PLOT_WINDOW::SETCOLORFLAG - Resetting the color table.
  • GA_PLOT_WINDOW::GETPLOTLIST - Retrieves the names of plots in this window object. a name is specified or a default is given when a plot object is created.
  • GA_PLOT_WINDOW::GETPLOT - Retrieves a plot object specified by its index number.
  • GA_PLOT_WINDOW::USERSETGRID - Allows manually setting the grid layout of the plots. If howeve, the total number of plots is greater than GRID[0]*GRID[1], the grid is recalculated automatically.
  • GA_PLOT_WINDOW::SETMAXGRID - Set the maximum number of columns and rows for determining grid layout of plots automatically.
  • GA_PLOT_WINDOW::SETAUTOGRID - Turn on or off the automatic grid layout calculation.
  • GA_PLOT_WINDOW::CHECKPLOTNUMBERS - Goes through member plots and checks to ensure that they are sequentially numbered. Renumbers them if they are not. Plots having the same number are overlayed and can cause confusing display results. This routine is optional - to be used by the parent application if needed. It returns 0 if no plot has been renumbered, returns 1 otherwise.
  • GA_PLOT_WINDOW::REPLACE_PLOT - This method replaces a current plot in the window with another plot.
  • GA_PLOT_WINDOW::INSERT_PLOT - Inserts a new plot at a specified index number. The plot numbers are shifted by 1 (+1) from the inserted plot.
  • GA_PLOT_WINDOW::REMOVE_PLOT - If the PLOT tag in EDITFLAGS structure is set, this method deletes the plot object specified by the index number. A GA_Plot_Window::EditCallBack is generated.
  • GA_PLOT_WINDOW::DELETE_PLOT - This method deletes a plot from the list of plots within the window. Plots are numbered from 1 to N and are in column order in the window. NO EDITCALLBACK is generated by this method! For an EDITCALLBACK use GA_Plot_Window::RemovePlot.
  • GA_PLOT_WINDOW::ADD_PLOT - This method adds a plot to the window. A new column of plots will be created if necessary to accomodate the new plot. A plot object is required. If NoDuplicate keyword is set, check if newPlot belongs to the window already. If so, return.
  • GA_PLOT_WINDOW::SET_CROSSHAIRS - This method turns cursor crosshair tracking on or off.
  • GA_PLOT_WINDOW::GETCURRENTTOOL - Retrieves the name of the current mouse mode. Possible modes are ['Select','Zoom','Edit','Cursor','Slice','Mark','Vector'] plus those defined by MOUSEMODES.
  • GA_PLOT_WINDOW::SETCURRENTTOOL - This method sets the current tool(mouse mode) to be used in the window. 'SELECT' - Seleting a data or a plot for manipulation, copying and deletion, etc. 'ZOOM' - Zoom and reset a plot, switch between multiple and single-plot displays. 'EDIT' - Add, delete or move data points. 'CURSOR' - Mark reference points, switch cursor readout from absolute to relative. 'SLICE' - Change the slices of the 3D data being plotted. 'MARK' - Mark a data point with a special symbol. 'VECTOR' - Change vector magnitute, data point resampling rate, etc.
  • GA_PLOT_WINDOW::SET_STATUS_WINDOW - This method assigns a text or label widget ID to be the status window. Cursor tracking reports are sent to the status window.
  • GA_PLOT_WINDOW::EDITCALLBACK - Perform an IDL procedure call upon certain editing action, CALL_PROCEDURE,ProName,Parent,oData,oPlot,Action ProName is the procedure name specified by keyword EDITCALLBACK when the window object is created (see GA_Plot_Window::Init). This procedure should expect four arguments. Parent The parent widget of the PARENT argument specified in GA_Plot_Window::Init. If the GA_Plot_Window is created through CW_GAWindow, Parent will be the PARENT argument passed to CW_GAWindow. oData A GA_Data object or a null object. oPlot A GA_Plot object or a null object. Action An action string such as 'ADD_DATA','DELETE_DATA', 'DELETE_PLOT','REFERENCE_POINT',etc.
  • GA_PLOT_WINDOW::DRAW - Draws all the plots in this window by calling the plot objects Draw method.
  • GA_PLOT_WINDOW::DUMP - Prints out pointers to plot objects and their associated data objects. For debugging purposes.
  • GA_PLOT_WINDOW::INIT - Initializes a GA_Plot_Window object. The window is conceived as a compound widget via CW_GAWindow. When you get the "value" of the compound widget, you are returned the window object. Instead of "setting values" to the compound widget, you call window object methods.
Category: Graphics
  • BANGPW - Widget to set interactively some !P values. Lists colors by name, if mk_color used; otherwise finds "closest" index to named colors. Allows selection of several custom plotting symbols (see PLOTSYM).
  • COLORBARBD - The purpose of this routine is to add a color bar to the current graphics window. (this is a mod by BD to handle veritcal plot ticknames better)
  • COLORBAR - The purpose of this routine is to add a color bar to the current graphics window.
  • DRAWDIAMOND - draw a diamond in data coordinates
  • DRAWRECTANGLE - draw a rectangle in data coordinates
  • FSC_COLORBAR - The purpose of this routine is to add a color bar to the current graphics window.
  • FSC_COLOR - The purpose of this function is to obtain drawing colors by name and in a device/decomposition independent way. The color names and values may be read in as a file, or 192 color names and values are supplied with the program. These colors were obtained from the file rgb.txt, found on most X-Window distributions, and from colors in the Brewer color tables (http://colorbrewer2.org/). Representative colors were chosen from across the color spectrum. To see a list of colors available, type: Print, FSC_Color(/Names), Format='(6A18)' If the color names '0', '1', '2', ..., '255' are used, they will correspond to the colors in the current color table in effect at the time the FSC_Color program is called.
  • MK_JPEG - make a bit-map color jpeg file of an IDL window for (viewable) insertion into MS Word, or Powerpoint documents.
  • MK_PNG - make a bit-map color png file of an IDL window for (viewable) insertion into MS Word, or Powerpoint documents.
  • ONESURF -
  • PICKCOLORNAME - The purpose of this program is to provide a blocking or modal widget interface for selecting a color "name". The program uses colors familiar to the FSC_COLOR program, and is often used to select a color name for passing to FSC_COLOR.
  • PSWINDOW - This function is used to calculate the size of a PostScript window that has the same aspect ratio (ratio of height to width) as the current display graphics window. It creates the largest possible PostScript output window with the desired aspect ratio. This assures that graphics output looks similar, if not identical, to PostScript output.
  • RIGHT_ASPECT - Allow contour (or x-y) plots to have the aspect ratio of the data
  • RIGHTYAXISLIMITS - Widget to set some Y Axis values for the right-hand axis in mdsw
  • SETPMULTI - partition the screen into different graphs if 7 or less plot boxes, then 1 column of plots if more than 7 plot boxes, then 2 columns of plots
  • SETUP_TEK - Set system variables for tektronix device. Use to direct plots to the Tek window in Versaterm, or to XTC.
  • SETUP_XPC - Use to direct postscript plots to the X-windows Plot Controller (XPC).
  • TV_24 - This procedure displays a 24-bit image on the current graphics device, constructing a custom colour table if the device supports less than 257 colours.
  • TVRD_24 - This function reads a 24-bit image from a 24-bit or 8-bit display device, returning a pixel-interleaved byte array of type BYTARR(3, xsize, ysize), where xsize and ysize are the dimensions of the current graphics device.
  • TWOSURF -
  • WRITE_IN_BOX - Writes a text message within a box in a graphics window.
  • XAXISW - Widget to set some X Axis values via the system variable !X
  • YAXISW - Widget to set some Y Axis values via the system variable !Y
  • ZAXISW - Widget to set some Z Axis values via the system variable !Y
Category: GUI
  • BITMAPBUTTONS - Illustrate use of bitmapbuttons in IDL
  • COLOR_RESOURCE_EXAMPLE - Example of color buttons on a widget.
  • COLOR_STATUS_EXAMPLE - Example of color status fields on a widget.
  • DIALOG_INPUT - A modal (blocking) dialog widget to input a line of text. The dialog must be dismissed, by entering text and pressing the Return key, or by clicking on the 'Ok' or 'Cancel' button before execution of the calling program can continue.
  • EDITTABLE - Edit a structure with a table where the second item in the structure is on/off. You can set all items (but the first) on, off, or to a specific value. If there are more rows than will fit on your screen, it will make new columns.
  • GET_TEXT_INPUT - Prompt the user for input with a question and return the text string typed by user. For X-windows the input is through a text widget, in the middle of the screen, and the text widget waits until carriage return is entered. Otherwise input is in the terminal window, with a beep to alert user.
  • MK_PDMENU - make a structure for a pull down menu for CW_PDMENU routine
Category: Image Processing
  • BIN2D - Create a density image (2D histogram) from arrays of (x,y) points, or create an image of a function from arrays of ( x, y, f(x,y) ) data. In first case each pixel counts # of (x,y) points falling into a 2D bin (box), thus forming an image of counters. In optional case, each pixel is the average of all f(x,y) data falling into the box. Boxes are determined by dividing the (x,y) range into a uniform grid.
  • BPASS - Implements a real-space bandpass filter which suppress pixel noise and slow-scale image variations while retaining information of a characteristic size.
  • CINE_LOAD - Read a frame from a .cin file from a Phantom 7 camera.
  • CINELOAD - Read a frame from a .cin file from a Phantom 7 camera. File is opened only the first time (or when filename is new), and pointers and things are remembered from one call to the next.
  • CINERATE - Return framing rate from a .cin file from a Phantom 7 camera.
  • CINE_SNUM - Return camera serial number from a .cin file from a Phantom camera.
  • CINE_TIME - Read time from a .cin file from a Phantom 7 camera.
  • CLICKONW - Allow recording of click locations on Tiff files. e.g., can be used for tracking dust particles from fast camera images of plasmas
  • CONVOLVE - Convolution of an image with a Point Spread Function (PSF)
  • FCPLAYER - Also displays files from the Phantom or color Miro cameras (.cin files) and optionally save frames as JPEG, png or TIFF files. Allows recording of click locations on .cin files from a Phantom 4 or 7 camera (for tracking dust, e.g.). Also trackes "blobs" from images of edge turbulence.
  • FEATURE - Finds and measures roughly circular 'features' within an image.
  • FILTER_IMAGE - Identical to MEDIAN or SMOOTH but handle edges and allow iterations.
  • GAMMA_RAISE - Apply gamma correction to an array, presumably an image.
  • GETIMAGE - The purpose of this function is to allow the user to open either regular or XDR binary image files of two or three dimensions.
  • IMAGEPROC - Demonstrate a few of IDL's image processing features: Fourier filtering, pixel scaling, pixel distribution (histogram), edge enhancement, dilate & erode, convolution, and zooming.
  • SHOCKVSTIME - Stack plots of a line from the center of .cin file image at various times See http://nstx.pppl.gov/nstx/Software/Help/shockwaves.html for sample images. After plotting, ou will be prompted for times for which calculate the speed of the leading edge of the shockwave.
  • XSECTIONW - Widget to display an image and x-y plots of cross-sections. Color palettes may be loaded, adjusted and saved. Images can be saved as 'jpg','tif','tif','bmp','jpeg,'png', 'ppm', 'pgm', or 'gif'
Category: Interpolation
  • INTERP2DFIT - fit irregularly-spaced x, y, & z points by fitting a 2-D surface using SFIT, and, using the returned coefficients, compute new values at other irregularly-spaced locations.
  • INTERP2D - Perform bilinear 2d interpolation using the IDL intrinsic interpolate procedure
  • INTERPWF - Interpolate MDS signal, or array, to 1 KHz.
Category: Math
  • DT_NICENUMBER - Makes nice delta time numbers, by rounding to 3 significant digits Can be used if you want to know if you have a constant timebase.
  • FACTOR - Find prime factors of a given number.
  • GAUSSIAN - Compute the 1-d Gaussian function and optionally the derivative
  • NDECIMALS - Returns the number of non-zero digits after decimal point. ignores insigificant bits (in principle)
  • NICENUMBER - Find a "nice" number close to the given number. Actually, this is for older digitizers, so "rounds" to numbers like 1, 2, 2.5, 5, etc.
  • PRIME - Return an array with the specified number of prime numbers.
  • PSF_GAUSSIAN - Create a 1-d, 2-d, or 3-d Gaussian with specified FWHM, center
  • RUNTOT - Compute a running total of an array by calling an external routine (this is inefficient in normal IDL)
  • SDEV - Returns standard deviation of an array.
  • SIGN - Gives the sign of X, i.e. 1 for positive, -1 for negative, 0 for 0.
  • TWOSCOMPLEMENT - Taking the Two's Complement of an integer
Category: MDSplus
  • ADDLABELNODES - Add LABEL sub-nodes to MDSplus signal nodes reading info from a file
  • ADDMDSTAGS - Add tags to MDSplus nodes
  • ADDSIGNODES - Add signal nodes and tags to a MDSplus tree for many shots
  • ADDTREETOTAG - return tags with trees merged in
  • BREAKMDSNAME - break an MDS pathname near the middle, if too long
  • BREAK_PATH - Breaks up a path string into its component directories.
  • CHECKMDSTREE - Check MDS trees, say after a transfer. Produce a file with a list of nodes and checksum of contents of each numerical node or first element of non-numeric nodes.
  • CHECKSIG - checks for existence of a signal in MDSplus for current shot and optionally declares an event. It can also execute and IDL string when it sees the event. It will then start watching for the next shot.
  • CP2JSCOPEFILE - Copy an MDSplus Scope input file to one that will work with jScope
  • EVENTSPAWN - When a designated MDSplus event is detected, spawn an IDL procedure, first killing any versions that are running.
  • FILEONEVENT - When a designated MDSplus event is detected, write a file containing a shot number, first deleting existing file.
  • FINDMDSNODES - Search for MDSplus nodes or tags with a name containing a string
  • FINDMDSTIME - find a time within an MDSplus shot, correspoding to the time of Max Ip, time of Max W-tot, etc. signals come from the EFIT tree when possible.
  • FINDVALIDSHOTS - Search MDS Plus Trees for valid shot numbers with data in a particular node
  • FIRSTSIGNAME - Return the first signal name in a TDI expression. Needed when you want the xaxis from a combination of signals.
  • FITSRUN - Quickly tell which EFITs and LRDFITs exist for an MDSplus shot
  • FOUNDSUBTREE - determine if sub trees like efit05, lrdfit06, etc. exist
  • FULLMDSPATH - Return an MDSplus path for a tag
  • GETMDSLABEL - return a label for an MDSplus signal. If there is a :LABEL sub-node, use that string, else if there is a :COMMENT sub-node, use that, else return the MDSplus signal name.
  • GET_NEBAR - Get Ne Bar (line-averaged plasma density at the midplane) from Multi-point Thomson Scattering data and EFIT gap data.
  • GETSCOPENAMES - return signal names and plot settings from an MDSplus Scope input file
  • GOOD_IP - Determine if plasma current (Ip) was good for a shot and, optionally declare an event.
  • LASTMDSSHOT - get the last (current) MDS shot
  • LEAFNAME - Return leaf name from MDSplus pathname(s)
  • LISTSHOTS - List shot numbers with signal over/under a certain amount
  • LOAD_NEBAR - Load Ne-bar Waveform into MDSplus.
  • MDIR - Directory listing of MDSplus data files with wild cards
  • MDSDATAVSSHOT - Print single values of MDSplus signals vs. shot number. The value can be the max or min, or at a specific time, including time of Max Ip, Max Neutrons, etc. The shot list may be reduced by certain qualifiers, such as to shots where the max of an arbitrary signal is > a given value. Output can be in a format suitable for importing into Kaleidograph, Excel, etc.
  • MDSDAT - "replacement" for gadat.pro. Get MDSplus signal data without having to open a tree (much faster, if a tree is specified)
  • MDSDECLAREEVENT - set an MDS event with shot number associated with the event
  • MDSEDITBRANCH - Read a branch of MDSplus values, allow editing of scalar values in a widget and write back out.
  • MDSEVENTWAIT - Widget to Wait for an MDSplus event, or the user clicks the CANCEL button.
  • MDSGETSIG - Get a signal, units and axes values easily from MDSplus
  • MDSLARGESTNODE - find largest node in a tree
  • MDSLIST - Print ASCII file containing data for MDSplus signal(s). The "dimension" of one of the signals (typically time) is in the first column, followed by data values at that time. Output may be in the format suitable for importing into Kaleidograph, Excel, etc.
  • MDSLOADSCALAR - Load MDSplus scalar with one simple call (after opening shot)
  • MDSLOADSIG - Load MDSplus signals with one simple call (after opening shot) Optionally add node and/or tag to a shot tree.
  • MDSMKFILE - Write an ascii file containing time and data for MDSplus signal(s). Time is in the first column, followed by data values at that time. Output may be in the format suitable for importing into Kaleidograph, Excel, etc.
  • MDSNODECHANGES - Print times when the last change was made to an MDSplus node.
  • MDSSCALARS - Print ASCII file containing values of MDSplus scalars(s) for a list of shots.
  • MDSSETEVENT - Generates an MDSplus event
  • MDSSIGINTERP - call TDI to interpolate signals, but handle expressions in which multiple signals are included. (assumes all same timebase within a given TDI expression)
  • MDSTREECHANGES - Print times when the last change was made to an MDSplus tree, and who did it.
  • MDSUNITS - return units of an MDS tag, or the time, or time units
  • MDSW - Interactively plot MDS signals with Crosshairs and many options
  • MK_SCOPE_GIF - make gif files from scope-like output, using a scope file as input
  • NEXTGOODSHOT - find the next shot that has more than a certain Ip.
  • NONVARPOS - find position of characters which are not valid for MDSplus names
  • NSEARCH - Search MDS Plus Trees for a node
  • PLOTSCOPE - make scope-like plots, optionally with overlays from multiple shots.
  • PRINTSCOPE - print scope-like output, using a scope file as input
  • SEARCHMDSNODES - Search MDSplus nodes for string contents
  • SEARCHTEXTNODES - Search MDS Plus Trees for Textual Data
  • SETMDSSHOTEVENT - set an MDS event with shot number associated with the event
  • SHOTDURATION - Return the Shot Duration in seconds
  • TAG_EXIST - To test whether a tag name exists in a structure.
  • TAGRANKOF - Return a list of MDSplus signals with a certain rank (that contain data)
  • TAGSEARCH - Search MDS Plus Trees for a tag
  • TDIS - Search MDS Plus Trees for TDI DATA
  • TREE_EXISTS - Return a true if an MDSplus tree exists for a given shot number
  • TRIMTAGNAMES - Trim tree info from an MDSplus tag name
  • USESIGMATH - parse an MDSplus TDI string, substituting Brian Nelson's Signal Math TDI routines for +,-,* and /, so timebases get adjusted, if necessary.
  • WFMDSSHOTEVENT - Wait for an MDSplus event, with shot number coming in
  • WITHRANKOF - Return a list of MDSplus signals with a certain rank (that contain data)
Category: Misc
  • BAD_PTDATA_ERROR - Return a logical true IF the PTDATA error is serious
  • BPWFEDIT - Read, Edit, & Plot Breakpoint Waveform files used in ppcc system on TFTR
  • CAMAC_HERE - Return 1 if CAMAC on this computer (if environmental variable "camac_server" is non-blank)
  • CH_EXAMPLE - a simple example using the GA Crosshair routines
  • CH_REGISTER - register window for crosshair routines
  • CINETHUMBNAILS - Plot thumbnails of many frames from a .cin file
  • COPY_STRUCT - Copy all fields with matching tag names from one structure to another
  • CREATE_LOCUS_TABLE - Create a table in the Locus database following the convention of data columns named xx0, xx1, xx2, etc.
  • CW_ANIMATE_DUPS - This widget displays an animated sequence of images using X-windows Pixmaps. This is a compound widget, based on the XINTERANIMATE procedure, with the following advantages: - It can be included in other applications. - Multiple copies can be run simultaneously. The speed and direction of the display can be adjusted using the widget interface.
  • FIND_COMMON() - : Find which elements are common to the input vectors.
  • FINDPEAKS - Find peaks in a data array. To be a peak a local maximum must have a 25% higher range than the first and last quarter of the peak range.
  • FLUXCOORDS - Return flux coordinates for input R values at a given Z
  • GETCMODEFIT - Get efit data from CMOD for separatrix and limiter locations
  • GET_WEBPLOTSUM - Creates summary plots vs time with plasma current, D-alpha, injected power and stored energy (W-mhd).
  • GPICONT - plot GPI data (an average of a center strip vs. time) as a color contour with the separatrix overlayed
  • GPIMOUNTAIN - plot GPI data (an average of a center strip vs. time) as a surface with the separatrix overlayed
  • IDLV4_TO_V5 - Modify an IDL V4.0 (or earlier) procedure such that variables are indexed using square brackets, as allowed (and suggested) within IDL V5.0 and later
  • MATCH - Routine to match values in two vectors.
  • IJ2RZ - Convert from fast GPI camera pixels at CMOD or NSTX to R & Z
  • ISFUNCTION() - Determine whether the IDL program(s) in a file are procedures or functions. Needed because the intrinisc RESOLVE_ROUTINE and ROUTINE_INFO() procedures require the user to know beforehand whether to supply the /IS_FUNCTION or /FUNCTION keywords.
  • ISNUMBER - Determine if a text string is a valid number.
  • LEGEND - Create an annotation legend for a plot.
  • LINTERP - Linearly interpolate tabulated 1-d data from one grid to a new one.
  • LINT - Find the intersection of two lines in the XY plane.
  • LISTFROMPERL - Called from a Perl Script to list MDSplus data from a Web Page
  • LOAD_FC - Load summary Waveforms for Phantom Fast Cameras into MDSplus.
  • MAKEN - Make an array of N values, linear between two given limits.
  • MAKENXY - Make 2-d x and y coordinate arrays of specified dimensions.
  • MDSW_NOCH - Plot one MDS signal simply (without Crosshairs)
  • MK_HTML_HELP - Given a list of IDL procedure files (.PRO), VMS text library files (.TLB), or directories that contain such files, this procedure generates a file in the HTML format that contains the documentation for those routines that contain a DOC_LIBRARY style documentation template. The output file is compatible with World Wide Web browsers.
  • MK_SHOTLIST - Parse an input string for shots into an array of shots
  • MPCURVEFIT - Perform Levenberg-Marquardt least-squares fit (replaces CURVEFIT)
  • MPFIT2DFUN - Perform Levenberg-Marquardt least-squares fit to a 2-D IDL function
  • MPFIT2DPEAK - Fit a gaussian, lorentzian or Moffat model to data
  • MPFITELLIPSE - Approximate fit to points forming an ellipse
  • MPFITEXPR - Perform Levenberg-Marquardt least-squares fit to arbitrary expression
  • MPFITFUN - Perform Levenberg-Marquardt least-squares fit to IDL function
  • MPFITPEAK - Fit a gaussian, lorentzian or Moffat model to data
  • MPFIT - Perform Levenberg-Marquardt least-squares minimization (MINPACK-1)
  • MPTSOUT - write a table of MPTS data and errors from the edge along with GPI average
  • MPTSSURFACE - A graphical interface for plotting shaded surfaces of NSTX Multi-point Thomson Scattering data (MPTS) from MDSplus. Summary plots of Ip, D-alpha, Neutral Beam and RF input power, and stored energy (W-mhd from EFIT). Times of NB and RF heating are indicated on the surfaces by darker shading. Different controls are provided to change the viewing angle and other plot parameters. Projection of data maxima vs. radius may be projected on the "back wall". (For critical accuracy of values, especially on the edges, please check with the Thomson diagnosticians personally.)
  • NEARESTI_ARRAY - Return indices of big input array closest to the values in the little input array.
  • NEARESTI - Return index of input array closest to the value of "pt"
  • NNET.PRO - Neural network classifier. This is a standard 3-layer back-propagation net.
  • ONALPHA - Tests for running on an alpha computer. You can specify the the desired Alpha computer. Optionally beeps, and prints a message and returns an error if not on the desired Alpha computer.
  • ONCOMPUTER - Return 1 if on the specified computer. First uses enironmental variable HOST has the computer name.
  • OPLOTSEP - Overplot separatrix and limiter onto grid with GPI images already drawn. Works with 2010 NSTX shots.
  • OS_FAMILY - Return the current operating system as in !VERSION.OS_FAMILY
  • PARCHECK - To check that a procedure has been called with the minimum of allowed number of parameters.
  • PLOTTSFONT0 - This procedure will plot the fitted profiles of electron temperature,density, and presssure from the NSTX Multi-Pulse Thomson Scattering (MPTS) diagnostic.
  • PLOTTSWALL - This procedure will plot the fitted profiles of electron temperature and density from the NSTX Multi-Pulse Thomson Scattering (MPTS) diagnostic.
  • PROGRESSW - show progress bar until done, or the user clicks the STOP button.
  • REMOVE - Contract a vector or up to 7 vectors by removing specified elements
  • SIMP - Does Simpson numerical integration on an array of y values.
  • STRESS - String edit by sub-string. Precede, Follow, Delete, Replace.
  • TABINV - To find the effective index of a function value in an ordered vector.
  • TESTCMD - test batch execution
  • TRUNS_GET - List info (in a database) on NSTX TRANSP runs (to a screen or file)
  • VT100 - Define the TEK and VT100 commands for use in IDL. Especially useful for MAC users who use Versaterm or users who otherwise want to do Tektronix plots while connected to their UNIX platform of choice.
  • WHICHCOMPUTER - Return name of Linux computer you are running on. First uses enironmental variable HOST, then uname -n
  • WRITECAMAVG - For camera files that exist for a particular shot, check for \CAMERAS::TOP.FC_n.RAWDATA:FRAMES_MAX and \CAMERAS::TOP.FC_n.RAWDATA:FRAMES_AVG (tags \PH7_n_FMAX and \PH7_n_FAVG) and write them if need be.
  • X_COMPLAIN - Pops up a one line complaint.
  • XY2RMRSEP - transform pixel locations (say, from a Fast 2-D Camera image) to distance from the Separatrix and distance along field line parallel to flux lines
Category: NSTX
  • NSTXCORNER - write NSTX in upper left-hand corner of a plot
  • NSTXLOGO - draw NSTX logo in upper left-hand corner of a plot
  • NSTXLOGS_GET - Get info on NSTX shots from the ENTRIES table in the NSTXLOGS database
  • NSTX_XP - return the NSTX XP for an NSTX shot
  • PLOT1SIG - plot 1 NSTX signal for many shots stacked vertically
  • PLOT7 - plot 7 (or any number) NSTX signals on the same x-axis
Category: Plotting
  • BETTERTICKLABELS - Tick labels are made a little cleaner. E.g., shorter exponentials, no unnecessary trailing zeroes, accurate numbers when tick values are small differences between large numbers, etc.
  • CLEANPLOT - Reset all system variables (!P,!X,!Y,!Z) to their default values
  • CLEARPLT - This procedure will clear or zero all or a selection of the system plot variables
  • COMPW - Plot two signals and the difference.
  • FANCY_TITLE - write a title at top of screen, with option to use Hershey fonts
  • GA_PLOTW - Plot widget for "table" of data, or input X & Y arrays.
  • GETPOS - Get the values for the POSITION keyword after a plot
  • GRIDPLOT - Widget for plotting a grid of data from MDSplus or gadat This is an interactive version of ShotLoop. If at GA, assume that access will be through gadat only. When a plot on the grid is clicked on, it is expanded into a separate window.
  • KEYBRDANIM - Animate frames of plots with keyboard controls. Plot commands can be passed into the routine. By default a vertical dashed red line shows the time. Keyboard controls over animation: 'H': See this Help 'P' or : Toggle Pause 'C': Continue 'F': Faster 'S': Slower 'R' or '>' or : move forward 1 frame 'L' or '<' or : move backward 1 frame 'J' or : Jump forward 10 frames 'B' or : move backward 10 frames 'M': Mouse-click time desired 'Q': to quit
  • LABELEVERYOTHERTICK - Only label every other major tic mark. The format of the numbers is customized.
  • LINESOUT - Write lines out to an X window. Works like xyouts, but uses line #'s (from the top) and /right if you want to right justify text.
  • MPLOTTITLE - write a plot title with NSTX label and a list of shots on left
  • MULTIPLOT - Create multiple plots with shared axes.
  • OVPLOT - Just like oplot, except it calls vcomp to "visually compress" an array for faster delivery of graphs at the expense of CPU time. All data spikes should be retained.
  • PLOT0CHECK - Plots blank axis if no data in !x.range or !y.range
  • PLOTCOLORFILL - Plots colorful bar charts
  • PLOTHIST - Plot the histogram of an array with the corresponding abcissa.
  • PLOTNORMAL - plot a normal curve on top of a histogram of data
  • PLOTNSHOTS - make scope-like plots with overlays from multiple shots.
  • PLOTNSIGS - make scope-like plots with overlays from multiple signals. this is the version of plotnshots that overlays different signals on the same axes
  • PLOTSIG1VSSIG2 - plot 1 MDSplus signal vs. another
  • PLOTSUMMARY4 - Plot vs. time a summary of a shot (Ip, D-alpha, Pinj, Wmhd) in a small frame
  • PLOTSUMMARY - Plot vs. time a summary of a shot (Ip, D-alpha, Pinj) in a small frame
  • PLOTSYM - Define useful plotting symbols not in the standard !PSYM definitions.
  • RESETPLT - This procedure will reset all or a selection of the system plot variables to their initial values
  • ROUNDEDAXISLIMITS - Find "nice" axis values, like IDL plot routine does.
  • SCREEN_TITLE - write a plot title with shot date and time and NSTX label
  • STACKPLOT - An example of X-window widgets for plotting some GA data
  • VAXIS - shell around AXIS procedure that sees if number of minor y tick marks need to be reduced, and if the number of y tick labels need to be cut in half.
  • VCOMP - "visually compress" (resample) an array for faster plotting of lines. All data spikes should be retained. Will return y points for each x -- the min & max values. IF nFinal GE N_ELEMENTS(inData)*2 will just return inputs
  • VGDS_TITLE - write a plot title with shot date and time and NSTX label
  • VPLOT - Just like plot, except it calls vcomp to "visually compress" an array for faster delivery of graphs at the expense of CPU time. All data spikes should be retained.
  • WEBPLOTSUM - Plot vs. time a summary of a shot in a small frame Ip, D-alpha, stored energy, NB & RF power are plotted.
Category: Printing
  • LIST_PRINTER_UNIX - LIST available printers from lpstat -a
  • PPPL_PRINTERS - return an array of strings of printer descriptions at PPPL
  • PS_FORM - This function displays a form the user can interactively manipulate to configure the PostScript device driver (PS) setup. The function returns a structure of keywords that can be sent directly to the DEVICE command via its _EXTRA keyword
  • SCREENDUMP - Postscript file from an IDL window, whether 8- or 24-bit graphics
  • SETUP_PS - open postscript file and set system variables for postscript device
  • SPAWNPRINT - Spawn command on VMS or Unix to print a Postscript file
  • UNSETUP_PS - close a postscript file (opened by setup_ps) and re-set system variables for previous device.
  • UNSETUP_TEK - undo system variables from setup_tek call.
  • UNSETUP_XPC - Close plots file opened with setup_xpc, and send to the X-windows Plot Controller (XPC) by figuring out next file in the sequence it is looking for.
Category: Programming
  • ADD_TAG - Add a new tag to the structure. NOTE: if you want to add more than one tag at once, use ADD_TAGS
  • ARRAY_EQ - Return TRUE if two arrays are equal, else false.
  • BELL - Ring terminal bell.
  • CAST - Generalized type casting. Converts variables whose type code is out of the range [LOW,HIGH] into this range.
  • COMBINE_STRUCTS - takes two arrays of structures str1,str2 which have the same number of elements but possibly different tags and makes another structure which has the same number of elements but the tags of both str1,str2 and has their respective tags values copied into it
  • DATATYPE - Datatype of variable as a string (3 char or spelled out).
  • GET_DELIM - returns file delimiter that is appropriate to VMS, UNIX or Windows
  • GREEK - This function returns the string needed to draw the specified greek character using either the vector graphics font no. 4, or PostScript font 9. If (!d.name eq 'PS') and (!p.font eq 0), then the PostScript font will be used. Otherwise, the vector font will be used.
  • INT_DEFINED - see if a value is defined and is an integer
  • ISARRAY - Tests if the argument is an array.
  • ISNUM - Checks whether the input is a number.
  • MAXSTRUCT - Find the maximum of a structure (ignores structures within the input structure)
  • MINMAX - print the min and the max of an array
  • MSG_BELL - Print a message to the IDL session and ring a bell
  • PRONAME - This function retrieves the name of the currently active procedure.
  • PTR_FREE_RECURSIVELY - This routine when passed a pointer will free up any memory associated with that pointer. This includes structures, which could contain pointers, or other structures which could in turn contain more pointers. It also destroys objects it comes across. It can also cope with null pointers that are found on its travels.
  • REM_ELEM - return subscripts of input array remaining after elements in a second array are removed
  • SAMETYPE - make two variables the same numerical type
  • SIZE_STRUCT - Obtain the size in bytes of an IDL structure definition.
  • TOTSTRUCT - find the total of numerical values in a structure (handles structures within the input structure)
  • TYPE - Finds the type class of a variable.
Category: Smoothing
  • AMEDIAN - Works the same as MEDIAN, but the effect tapers off at the edges.
  • MEDSMOOTHEDGE - Median smoothing of an array, including handling edges.
  • MEDSMOOTH - Median smoothing of a vector, including point near it's ends.
  • POLY_SMOOTH - Reduce noise in 1-D data (e.g. time-series, spectrum) but retain dynamic range of variations in the data by applying a least squares smoothing polynomial filter, also called the Savitzky-Golay smoothing filter. The low-pass filter coefficients are computed by effectively least-squares fitting a polynomial in moving window, centered on each data point, so the new value will be the zero-th coefficient of the polynomial. Approximate first derivates of the data can be computed by using first degree coefficient of each polynomial, and so on. The filter coefficients for a specified polynomial degree and window width are computed independent of any data, and stored in a common block. The filter is then convolved with the data array to result in smoothed data with reduced noise, but retaining higher order variations (better than averaging).
  • QUICKDESPIKE - Quick way (execution-wise) to remove single-element spikes.
  • RESAMPLE - Resample a vector with triangular smoothing.
  • SMOOTH2 - Do multiple smoothing. Gives near Gaussian smoothing.
  • SMOOTHEDGE - smooth a 2-D array using /edge_truncate, but then smooth the remaining rows and columns within width/2 of the edge even more.
  • SMOOTHTRUECOLOR - smooth a true color array 1 component at a time.
  • TRISMOOTH - Triangular smoothing of a vector, including points near the ends.
Category: Strings
  • BREAKSTRING - Break a string up and return a string array
  • BREAKTEXT - break up (justify) text so lines not longer than a certain length.
  • CHARSIZE2FIT - compute charsize for a string to fit in horizontal # of pixels
  • DELFROMLIST - delete ith element from a list
  • FINDALLCHAR - Find all appearances of a character in a scalar string
  • GETTOK - Function to retrieve the first part of the string until the character char is encountered.
  • GETWRD - Return the n'th word from a text string.
  • LABELFIT - determine character size to make a label fit in a space
  • NONALPHANUM - find position of first character which are not alphanumeric (0-9, a-z, A-Z & _) if none found, returns strlen(input)
  • NONNUMBER - find position of first character which is not a number (0-9). if none found, returns -1.
  • NUMBERPOS - find position of first character which is a number if none found, returns strlen(input)
  • NWORDS - Return the number of words in the given text string or string array.
  • PADSTRINGS - pad column widths so each text field takes up same amount of space. Remove any tabs.
  • REMCHAR - Remove all appearances of character (char) from string (st)
  • REPCHR - Replace all occurrences of one character with another in a text string.
  • REPSTR - Replace all occurences of one substring by another.
  • SQLFIXSPECIALCHARS - Encapsulate special characters so they can work in SQL text insertions The special characters are '%', '^', '$', '*', '@', '#', '(', '!', ')', '?'
  • STRARRAYSAME - Returns TRUE if two strings, or string arrays, are identical, else FALSE
  • STRCONCAT - Concatenate a string array into single string, or a matrix of strings into a string array.
  • STREP - Edit a string by position. Precede, Follow, Replace, Delete.
  • STRMATCH - check for string match to a wild card specification
  • STRNUMBER - Function to determine if a string is a valid numeric value.
  • STRPARSE - Parses the string LINE using the characters in DELIM as delimiters. Puts individual pieces into consecutive locations in LIST.
  • STRWHERE - a "where" operator for strings matching a set of string wild cards
  • TEXTLINES - Form lines of text for outputing (say, in a table form). If formats are not input, then guess about good formatting for variables of different types.
  • WHERE_ARR - Return the subscripts where a given set of values equal the values in the input array. It is basically an expansion of IDL where in which the condition to match can be an array.
  • WORDARRAY - Convert text string or string array to a 1-d array of words.
Category: Utility
  • ARRAYMASK - Return an array mask where values are 1 if within the drawn polygon and 0 if outside.
  • CONVANGLE - convert angle from one scheme to another. For example, some routines have 0 horizontally to the left, with angles increasing in a clockwise direction. and others have zero to the right, with angles increasing in a counter-clockwise direction.
  • DOMAINNAME - Return TCP/IP domain name from Unix systems
  • DRAWNSTXINSIDES - Provide a drawnstxinsides for IDL routines to be used by others
  • ERROR_MESSAGE -
  • FINDDISKS - return a list of disks shown in the df command on Linux
  • FIND_FONT - Select a Unix hardware font for IDL graphics.
  • MONITORJOB - Monitor an IDL job, and restart it if not present
  • NODENAME - Return nodename on Linux computer
  • NODESEARCH - Search MDS Plus Trees for a node
  • PINGPLOT - plot ping times to various computers (from sunfire13, probably).
  • PRINT_PATH - prints component directories of an IDL path string.
  • PWD - print the current working directory
  • SELECT_FONT - Select a Unix hardware font for IDL graphics.
  • TEMPLATE - Provide a template for IDL routines to be used by others
  • BADPAR - (one line) Validate an input parameter against valid entries.
  • WEBDISPLAY - Display web pages from IDL for Help, or other purposes.
  • WHICH - Like Unix which, prints the path of an IDL routine.
  • WRITELOG - Provide a writeLog for IDL routines to be used by others
Category: Widgets
  • CW_FIELD_BD - This widget cluster function manages a data entry field widget. The field consists of a label and a text widget. CW_FIELD's can be string fields, integer fields or floating-point fields. The default is an editable string field.
  • CW_FIELD - This widget cluster function manages a data entry field widget. The field consists of a label and a text widget. CW_FIELD's can be string fields, integer fields or floating-point fields. The default is an editable string field.
  • DIALOG_MENU - A modal (blocking) dialog widget to display a selectable menu. The dialog must be dismissed by selecting a menu item before execution of the calling program can continue.
  • PDSURFACE - This routine provides a graphical interface to the SURFACE and SHADE_SurfRangeACE commands. Different controls are provided to change the viewing angle and other plot parameters. The command used to generate the resulting surface plot is shown in a text window.
  • PICKPLOT - This function allows the user to interactively pick a plot file. It will be plotted in a separate window. Postscript files (with a "ps" extenstion will go to a gv window, and others will be plotted with xv.
  • STRUCEDIT - Widget to edit a structure of scalars from an IDL save file. The names of the input fields are the names of the structure elements.
  • SURF_CONTOUR - The purpose of this program is to demonstrate how to create a shaded surface and coutour plot in the same object graphics window. The contour plot should be able to be translated independently of the surface.
  • USINGXWINDOWS - Prompt user for switching Plot device to X.
  • VIEWTEXT - View a string, or string array, of text in a scrollable text widget.
  • WIDGET_BOTTOM - Move a widget to the bottom of the screen or base widget.
  • XCDEDIT - A table editor modified from XVAREDIT for ppcc c.d file.
  • XCOLORS - The purpose of this routine is to interactively change color tables in a manner similar to XLOADCT. No common blocks are used so multiple copies of XCOLORS can be on the display at the same time (if each has a different TITLE). XCOLORS has the ability to notify a widget event handler, an object method, or an IDL procedure if and when a new color table has been loaded. Brewer color tables can also be accessed from this program, if the file fsc_brewer.tbl can be found somewhere in your IDL path.
  • XFONT_4 - XFONT_4 is a modal widget for selecting and viewing an X Windows font.
  • XPC - This function allows to interactively pick a plot file. It will be plotted in a separate gv window.
  • XVAREDIT - This routine provides an editor for any IDL variable.