by Ben-chin Cha (04/02/2001)


PICK3D provides the IDL user with a special handle on the 3D scan file saved by the IOC. It is specially targetted on big 3D scans, instead of access all the 3D detectors at the same time, the 3D scan data array is handle detector by detector. By doing so, it allows the IDL can handle bigger 3D scan and the perfomance is improved greatly by avoiding using the swap memory.

It provides various TV, SURFACE, CONTOUR, and SHADE_SURF 2D plot features on any 2D slice out of the 3D data array. It also provides the feature of dynamical sum of all the spectrum for any desired selection of the 2D slice.

The access of various 1D/2D programs such as scan2d_roi, pick1d, calibration, plot2d, plot1d, ez_fit are automated with the selected 1D/2D data array. To obtain the PS plot or generate the ASCII report is only few clicks away.

Command Syntax

Please refer User's Reference Guide for PICK3D for command syntax.


Setup Requirement for Unix System

At APS all IDL programs are installed in the /usr/local/epics/extensions/bin/$HOST_ARCH directory. For proper operation of these programs, a user first has to make sure that the IDL 5.0 or later is used. For example, use IDL 5.4 release, set the following :
	source /usr/local/rsi/idl_5.4/bin/idl_setup 
In order to access IDL programs installed in the local epics/extensions/bin, a user has to make sure that the following two environment variables are set before invoking IDL :
         setenv EPICS_EXTENSIONS /usr/local/epics/extensions
         setenv IDL_STARTUP $EPICS_EXTENSIONS/bin/$HOST_ARCH/viewer_startup.pro 
and make sure the directory /usr/local/epics/extensions/bin/$HOST_ARCH is in his/her IDL search path.

Access PICK3D Program

To access the PICK3D program under UNIX operating system just enter the following command at the UNIX prompt:
This UNIX script will automatically load the pick3d.pro, and all other IDL programs called by the PICK3D into the IDL session.


Two rows of buttons are available for viewing the data and obtaining the final PS plot. The top row of buttons allow the user selects the 3D scan file desired. The PICK3D program only accepts 3D scan data file.

The buttons labeled with the suffix ... indicates there is a window or widgets associated with it.


File... - Select 3D filename through file selection dialog.

Text field - Enter or display filename currently selected.

PrevFile - Load filename for Previous scan.

NextFile - Load filename for Next scan.

User first has to use File... to load the initial scan # and filename into the text field, then the PrevFile or NextFile button will work correctly.


3D Slicer... - Load selected 3D data array into VIEW3D_2D program

Pick Detector # - Load selected detector 3D data array into PICK3D (default # D01)

2D Menu - Load 2D data array into PICK2D program

Pick 3D Axis - Set the viewing axial direction for 3D data array (default X axis)

All Slices (2D Images) - Pan all 2D images in the set axial direction

Axial Values - Set axial coordinates option for 2D plot (default Index #)

Help... - Display pick3d_help.txt online help.

Done - Close and exit the PICK3D program.


VIEW3D_2D Slicer is a widget application program. It accepts any 3D data array as input and allows the user flexiblely to access any 2D cross section out of the input 3D data array. It provides user with various 2D viewing options and to generate the data report through few mouse clicks.

Command Syntax

Please refer User's Reference Guide for view3d_2d for command syntax.

User Interface

The user interface of VIEW3D_2D consists of two sets of radio buttons: 'Display By' option and 'Pick Rank' option, a selection list of Slice # , and a set of three buttons: 'Accept', 'View3d_2d Sum Slices...', 'Close'. A user can freely access any 2D display program and slicer out of a 3D data array.

Display Option - Pick display option of PLOT2D,ASCII2D,ROI2D,PICK1D (default PLOT2D)

Pick Rank Option - Pick axial rank of the 3D data array (default X Axis)

Slice # List - Select axial slice # from the 3D data array (default 0)

Accept - Accept display, rank and slice # and display accordingly

View3d_2d Sum Slices... - Run VIEW3D_2DSUM slicer program with picked axial rank

Close - Close the VIEW3D_2D slicer program

For picked slice # and rank, the chosen display option implies:
PLOT2D  - the PLOT2D program will be called for the selected 2D image.
ASCII2D - the 2D ASCII routine will be called for the selected 2D image.
ROI2D   - the SCAN2D_ROI program will be called for the selected 2D image.
PICK1D  - the CALIBRA_PICK1D program will be called for the selected 2D image.

The 'View3d_2d Sum Slices...' button calls the VIEW3D_2DSUM program which allows the user to examine and sum 2D image on any range of interested slices for a specified rank.


VIEW3D_2DSUM is a widget application which allows the user flexibility to access any 2D ROI data out of a 3D array.

Command Syntax

Please refer User's Reference Guide for view3d_2dsum for command syntax.

User Interface

VIEW3D_2DSUM slicer program gives the user flexibility to view 3D data according to his preference.

The drawing area plots the axial variation of the spectrum for a given set of I index and J index. The Rank represents the axial rank picked ( 0 - X axis, 1 - Yaxis, 2 - Zaxis). The I,J index represents a point from the 2D cross section. The two verical sliders allows the user to select any points from the 2D cross section. The two horizontal slider bars define the range of axial ROI (region of interest) will be used.

The two vertical lines in the drawing area reflects the range of ROI. Default is whole range. Inaddition to the two horizontal slider bars, the mouse button can also be used to define the axial ROI. The left mouse button re-position the start range, the right mouse button re-position the end range. The plot title and labels reflect the values of set variables.

The PLOT2D / ASCII2D / ROI2D / PICK2D button accepts the indices start K1 and end K2 as shown in the drawing area and sum the spectrum and generate a new cross sectional 2D image array, then calling the corresponding IDL programs with the resultant 2D image.

Slider I index - I index (default center point)

Slider J index - J index (default center point)

Slider Start index - K1 start ROI index (default 0)

Slider EndI index - K2 end ROI index (default last)

Picked Axial Rank #- Rank (defalut 0)

PLOT2D - Sum 2D ROI and run PLOT2D program

ASCII2D - Sum 2D ROI and generate ASCII2D report

ROI2D - Sum 2D ROI and run SCAN2D_ROI program

PICK1D - Sum 2D ROI and run CALIBRATION_FACTOR program

Screen Data - Show the spectrum of plot data in a TERM window

PS Plot - Send the drawing area plot to a PS divice

Done - Close and exit the VIEW3D_2DSUM program

2D Menu

2D_MENU is a 2D scan image selection menu to access any 2D image data out from a 2D scan array. It consists of three selection items: PanImage..., Pick2D..., and CALIB2D....

PanImages... - run PANIMAGE_SEL program

Pick 2D... - run PICK2D program


User Interface: PANIMAGE_SEL

Please refer User's Reference Guide for PANIMAGE_SEL for command syntax.

The PANIMAGE_SEL dialog gives a set of selection options to let the user dynamically reconfigure the panimage window according his preference. The default grid image size is 60x60 pixels.

The user interface of PANIMAGE_SEL is given below:

Select Sublist - Droplist to select panImage sublist from D01-D10, ...,D61-D70, D1-DF strips

Grid Exp Factor - Image grid expansion factor, default to 1.

Select Detectors - Multiple selection box of 85 detectors LMB single selection Cntl-LMB multiple selection Shift-LMB range of multiple selection

Accept Button - Accept selections and pops up panimage window

All Button - Up to last detectors defined

Print Button - Dump panImage window to PS printer

Close Button - Close this dialog

Save PanImage - Check/Uncheck save panImage option

Save Type - Save image type as TIFF/PNG/PICT/XDR

Reverse Toggle - Check/Uncheck reverse TIFF image

Save Filename - Override output save file name

User Interface: PICK2D

Please refer User's Reference Guide for PICK2D for command syntax.

The PICK2D dialog let the user select any detector image from the input 2D data array. It allows the user easily to access the 2D plot, ascii, or calibration functions.

The user interface of PICK2D is given below:

Detector List - Select the desired detector from the list

PLOT2D - Run PLOT2D program with the selected 2D image

ASCII2D - Run xdisplayfile to display 2D ascii data

CALIB2D... - Run CALIBRATION_FACTOR with input 2D data array

Done - Close the dialog


Please refer User's Reference Guide fo r CALIBRATION_FACTOR for command syntax.

The CALIBRATION_FACTOR program let the user define the coefficient factors and dynamically define the mathematical calibration function as any combination terms of the coefficient and detector images. The multiplication factors can be modified and saved in a coefficient file. And this coefficient file can be loaded into the CALIBRATION_FACTOR program. A user can easily generate new calibration result and display the result by PLOT2D program. The other 2D image processing programs: ASCII2D, ROI, PICK1D, EZ_FIT on the calbration array are also at the user finger tip.