DOCUMENTATION
SYNOPSIS
PROGRAM NAME: iTopMute (interactive Top Mute)
AUTHOR: Juan Lorenzo
CHANGES and their DATES
DATE: April 2 2009
September 2015 :
updated to oop
introduced Tk widgets
Made all event-driven
July 27 2016
NEW: read iTop_Mute3.config text file
OLD: import perl variables from
*.pm configuration file xi
within ta local libAll
subdirectory
binheader is used for everything serious
gather is to be used to texting
correct offset is essential for applying the mute
DESCRIPTION
Interactively pick muting parameters
USE
Examples
SEISMIC UNIX NOTES
STEPS
1. use the local library of the user
1.1 bring is user variables from a local file
2. create instances of the needed subroutines
NOTES
We are using Moose.
Moose already declares that you need debuggers turned on
so you don't need a line like the following:
use warnings;
Parameters
base_file_name su file without "su" suffix
gather_type used only to determine user messages,
e.g., SP, CDP
binheader_type type of gathers used for muting,
e.g., ep,cdp
offset_type horizontal component,
e.g., tracr, offset
Instantiate classes:
Create a new version of the package
with a unique name
Declare variables
in local memory space
Create Main Window
Sstart event-driven loop
Interaction with user
initialize values
If picks are new, show
message on how to pick data
Display
data first time
Decide whether to
PICK or move on to NEXT CDP
Place window near the upper left corner
of the screen
Changing geometry of the toplevel window
my $h = $mw->screenheight();
my $w = $mw->screenwidth();
print("width and height of screen are $w,$h\n\n");
print("geometry of screen is $geom\n\n");
Set the prompt
value according
to which button is pressed
then exit the MainLoop
destroy the main window after the prompt
is properly set
sub set_pick
callbacks
send gather number to $iTM
delete output of previous semblance
plus more callbacks following...
Delete output
of previous muting
-replot 1st data
-PICK X-T pairs
-Increment number of tries to make
data display interact with user
(number_of_tries = 1)
sub set_calc
-PRESS the CALC button
-Increment number of tries to make
display and show old picks
(if number_of_tries >1)
Delete
the previous display
Message
to halt flow
when number_of_tries >0
sub set_saveNcont
same as next
sub set_next
In this case $self is empty
1. increment gather
Exit if beyond last gather
2. reset prompt
3. Otherwise display the first semblance
4 ... see following callbacks
Delete output
of previous top mute
Display
update gather number in memory
first top mute
Show user message
Select the mute values
sub set_exit
saying goodbye
clear old images
kill window
stop script