This widget displays a toplevel window containing a plot of the pixel value distribution in the target image and buttons and scales for manipulating the image cut levels. The cut levels are two values: the lowest and highest pixel values considered when color scaling the image, i.e.: mapping image pixel values to color values, and are used to filter out noise and other extreme values in the image. The plot displayed uses the rtdimage "getdist" subcommand to get the pixel value distribution. This is an array of values that specify, for example, how many pixel values are between 0 and 100, between 100 and 200, and so on. This information can also be used to set the cut levels, by specifying a percent of the total number of pixels that should be within the cut levels. A second, faster algorithm is supported by the "Median Filter" button. This is a standard algorithm that works very fast to determine reasonable cut levels. After setting the cut levels, either manually or by one of the buttons, the new pixel value distribution is displayed. The plotting is done directly from the rtdimage C++ code to the BLT graph over its C interface.
buttons Tk frame for buttons. graph BLT graph widget for displaying pixel distribution. percent LabelChoice(n) widget displaying percent values for setting cut levels. scales Frame containing scale widgets to adjust cut levels. $compo Button components: set, reset, median, update, or close. ${el}cut Lowcut and Highcut components (LabelEntryScale(n) widgets) for displaying and adjusting the cut levels. ${el}scale Lowscale and Highscale component frames.
-command Tcl command to evaluate when cut levels are changed. -image Target RtdImage itcl class object. -num_points Number of points to plot.
add_button {compo text command} Add a button to the buttons frame. get_cuts {} Return the current low/high cut values. init {} Called after constructors have run. reset_cutlevels {} Reset the cut levels to the original min/max values. set_by_median {} Automatically set the cut values by median filtering. set_by_percent {percent} Automatically set the cut values by percent of distribution that should be inside the cut levels. update_graph {{modimg 1}} Update the graph after a new image has been loaded or the image has been modified.
entry_value {compo value} Write value into entry field. make_buttons {} Make the button frame at the bottom of the window. make_controls {} Make the control panel. make_graph {} Make the graph subwindow. make_short_help {} Add a short help window. notify_blt_zoom {pathname tickvalue} This method is called when blt changes the tick labels after a zoom. set_cutlevels {} Set the cut levels in the image. setb_cut {flg low high} Set low and high cut. setb_highcut {sethigh value} Set entry values of the highcut scale widget and update scale widgets. setb_lowcut {setlow value} Set entry values of the lowcut scale widget and update scale widgets. update_cut {low high} Update min, max values of the lowcut and highcut scale widgets. update_highcut {low high} Update min, max values of the highcut scale widget. update_increment {} Update the increment for the slider buttons depending on the range XXX not currently used - problems with looping in event handlers (allan). update_lowcut {low high} Update min, max values of the lowcut scale widget. update_xaxis {{value 0}} Update xaxis after rescaling.
graph_ Name of graph widget. high_ Highest value to display (image(max) or set by user). image_ Internal rtdimage object. initialized_ Set to 1 after widget has been initizlized. low_ Lowest value to display (image(min) or set by user). xVector_ X vector for graph. yVector_ Y vector for graph.
Please send questions or comments to abrighto@eso.org.
Copyright © 1998 ESO - European Southern Observatory