The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

DOCUMENTATION

SYNOPSIS

 PROGRAM NAME: iPick (interactive Picking) 
 AUTHOR:  Juan Lorenzo

CHANGES and their DATES

 DATE:  June 15 2019 

DESCRIPTION

   Interactively pick points

USE

Examples

SEISMIC UNIX NOTES

STEPS

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;
 
 For the iPick tool and in  order to prevent redefining subroutines
 we implement new modulesB,C,D ...
 
 Both of the following instantiate iPick_spec.pm
 --iPick_config 
                        calls 
                config_superflows 
                    calls 
                big_streams_param 
                        which requires and instantiates iPick_spec
 --iPick.pm
                uses and instantiates iPick_specB.pm
                uses iShowNselect_picks
                      which instantiates iPick_specC
                uses iSelect_xt
                          which instantiates iPick_specD

Instantiate classes:

 Create a new version of the package 
 with a unique name

Get configuration information

Declare variables

 in local memory space

  Check for old data

Display

     data first time

Create Main Window

 Start event-driven loop
 Interaction with user
 initialize values
 If picks are new, show
 message on how to pick data

Decide whether to

        PICK or move on to NEXT GATHER
        Place windows (2) near the left side
        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 $iPick
        delete output of previous displays
Delete output
  of previous muting

number_of_tries -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 x,t again
       Show user message
       Select the xt values

sub set_exit

  say goodbye 
  clear old images
  kill window
  stop script

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 270:

'=item' outside of any '=over'

Around line 279:

You forgot a '=back' before '=head2'