Home
MDSplus
Overview
Programming
TCL
Descriptions
Examples
TDI
Tutorial
Functions
Reference
Trees
Labels
Action Nodes
Diagnostics
Overview
Disruption Detection
Electron Profiles
Equilibrium Reconstruction
Fast Ion Measurements
Fluctuation Measurements
HHFW RF Diagnostics
Ion Profiles
MHD Mode Detection
Neutron Measurements
PFC Diagnostics
Plasma Imaging
Radiated Power
Spectroscopic Measurements
Shot Lists
Overview
By Run Date
By XP Number
By XMP Number
Images
Overview
Fast Cameras
Shot Summaries
SpecFit Plots
Web Tools
Overview
EFIT Query
Magnetic Diagnostics
MDS Tools
List Scalars
Shot Search
Shot Table
Signal Viewer
Tree Search
NERVE
NSTXView (beta)
Phoebus View
Physics Logbook
Physics Viewer
Shot View
TRANSP Run Search
Web Display
Web Scope
Applications
Overview
EFITviewer
GPEC/DCON
jScope
jTraverser2
LRDFIT
OMFIT
PyISOLVER
SpecFit
TRANSP
TRANSP Help
IDL
Overview
Setup
Introduction
Advanced Plotting
MDSplus Access
Tutorial Downloads
Examples
User Routines
Alphabetical
By Category
MPIDL
Overview
Library Functions
FAQ
Routines by Category
2-D Plotting
Animation
Bits
blobs
Colors
Compound widgets
Database
Dates
EFIT
EPICS Channel Access Interface
Events
files
GAplot
GUI
Graphics
Image Processing
Interpolation
Math
MDSplus
Misc
Plotting
Printing
Programming
Smoothing
Strings
Utility
Widgets
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.