DOCUMENTATION

SYNOPSIS

PERL PROGRAM NAME: iPick.pm 
AUTHOR: Juan Lorenzo
DATE:  Sept. 14 2015 
        

DESCRIPTION: 
Version: 0.0.1
Package used for interactive picking of points

USE

When "purpose" is 'geopsy', the processing
is slightly different and
the output directories and files have a unique format

ep is an appropriated gather header. 
If you do not want to have ep defined as a gather header 
variable, then the following is allowed:
ep =0
ep max=0
ep min=0  

??JML TODO

Examples:

    base_file_name  	= 30Hz_All_geom_geom;
    gather_header  	= fldr;   (single gather type for picking)
    offset_type  		= tracl;  (or, e.g., offset but only affects the label *)
    first_gather   	= 1;
    gather_inc    		= 1;
    last_gather    	= 100;
    freq    		    = 0,3,100,200;       (Hz; can be left empty without any values as well)
    **gather_type    	= fldr;
    min_amplitude      = .0;
    max_amplitude      = .75;
    min_x1             = 15.873015           (Hz, for geopsy)
    max_x1             = 999.999             (Hz, for geopsy)
    purpose            = geopsy
     
     * if you want offset to be considered when plotting data
     then modify the d2 and f2 values prior to picking.
     
     ** Define family of interactive user messages to use
         SP or CDP

Examples

SEISMIC UNIX NOTES

STEPS

Perl 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		

STEPS

Import

packages
directory definitions

instantiate

programs

private hash

declare variables types
establish just the locally scoped variables

sub clear

sets all variable strings to '' 

sub icp_sorted_2_old_picks

When user wants to rreview old data 
this sub allows the user to 
use a prior sorted file
Juan M. Lorenzo
Jan 10 2010

 ted_inbound	= $DATA_DIR_OUT.'/'.$iPick->{_inbound_curve_file};
 my $outbound			= $DATA_DIR_OUT.'/'.$itemp_picks_.$iPick->{_file_in};

	$cp    ->from($inbound);
	$cp    ->to($outbound);
	$cp[1] = $cp->Step();
   input file is ipicks_sorted
   output pick file 
   text file out: ipicks_old 

DEFINE FLOW(S)

RUN FLOW(S)

LOG FLOW(S)TO SCREEN AND FILE

sub _inbound_curve

Required text file with x,t pairs

sub gather_header

define header on which to search or run suwindow
For example, when you have a string of shotpoint
gathers in a single file and you want to examine
one at a time. In this case the binheader type can
be ep

sub data_scale

Required data plotting scale 

sub file_in

Required file name
on which to pick top mute values

sub freq Bandpass filter frequencies before conducting amplitude analysis e.g., "3,6,40,50"

sub gather_num

sets gather number to consider  

sub gather_type Define which family of interactive user messages to use SP or CDP

sub get4data_type

look for old data

Are there old picks to read?
These old picks are of a type e.g.,
velan,
gather
general Pick_xt

sub iPicks_par Convert format of pick files for use later into "par" format

sub iPicks_sort

convert format of pick files for use later
into "par" format 

sub iPicks_save

save pick files for later use

sub iPicks_select_xt

Select point co-ordinates from traces
provide file name

sub iPicks_shownNselect

	Update a possible previous pick and save to a new file name for	
	later use in ShowNselect
	num_tries >1, is a condition already imposed in Pick.pl
 

sub maximum amplitude to plot 

sub maximum time/Hz to plot 

sub iPicks_message

instructions 

sub minumum amplitude to plot 

sub minimum time/Hzto plot 

sub number_of_tries 
required count of the number of attempts
at estimating the velocity

sub offset_type

define which values to use in the x axis 

sub set_message

define the message family (type) to use
also set the gather number (TODO: move option elsewhere)

sub set_data_type

	set what type of old data
	we are looking for
	velan,
	gather
	general Pick_xt
  

sub set_purpose

define where the data will need to go
define the type of behavior