App-SeismicUnixGui

 view release on metacpan or  search on metacpan

lib/App/SeismicUnixGui/big_streams/iBottomMute.pl  view on Meta::CPAN

use Moose;
our $VERSION = '1.0.4';
use aliased 'App::SeismicUnixGui::misc::L_SU_global_constants';
use aliased 'App::SeismicUnixGui::big_streams::iBottomMute';
use aliased 'App::SeismicUnixGui::configs::big_streams::iBottomMute_config';
#use aliased 'App::SeismicUnixGui::misc::readfiles';
use Tk;
use App::SeismicUnixGui::misc::SeismicUnix qw($true $false );
use aliased 'App::SeismicUnixGui::sunix::shell::xk';

my $iBM_Tk = {_prompt => ''};


=head2 Instantiate classes:

 Create a new version of the package 
 with a unique name

=cut

my $iBM                	= iBottomMute->new();

lib/App/SeismicUnixGui/big_streams/iBottomMute.pl  view on Meta::CPAN

        -background => $var->{_my_yellow},
        -value      => 'exit',
        -variable   => \$rb_value,
        -command    => [ \&set_exit ]
    )->pack( -side => 'left' );

    MainLoop;     # for Tk widgets
}   # for new data


=head2 Set the prompt

 value according
 to which button is pressed
 then exit the MainLoop
 destroy the main window after the prompt
 is properly set

=cut  

=head2 sub set_pick

 callbacks

  send gather number to $iBM
  delete output of previous semblance
  plus more callbacks following...


=cut

sub set_pick {
    my $pick = 'pick';
    $pick_rb->configure( -state => 'normal' );
    $iBM_Tk->{_prompt} = $pick;

    print("Picking...\n");

    $iBM->gather_num($gather);

=head2 Delete output 

  of previous muting

=cut

lib/App/SeismicUnixGui/big_streams/iBottomMute.pl  view on Meta::CPAN

      -PRESS the CALC button
      -Increment number of tries to make
          display and show old picks
         (if number_of_tries >1)

=cut

sub set_calc {
    my $calc = 'calc';
    $calc_rb->configure( -state => 'normal' );
    $iBM_Tk->{_prompt} = $calc;
    print("Calculating...\n");

=head2 Delete 

   the previous display

=cut

    $xk->kill_this('suximage');
    $xk->kill_this('suxwigb');

lib/App/SeismicUnixGui/big_streams/iBottomMute.pl  view on Meta::CPAN


=head2 sub set_saveNcont

   same as next

=cut

sub set_saveNcont {
    my $saveNcont = 'saveNcont';
    $saveNcont_rb->configure( -state => 'normal' );
    $iBM_Tk->{_prompt} = $saveNcont;
    print("Saving and Continuing...\n");

    #$iBM->icp_sorted2oldpicks();
    &set_next();

}


=head2 sub set_next

  In this case the $variable is empty
  1. increment gather
     Exit if beyond last gather 
  2. reset prompt
  3. Otherwise display the first semblance
  4 ... see following callbacks

=cut

sub set_next {
    print("Next...\n");
    $next_rb->configure( -state => 'normal' );
    my $next = '';
    $iBM_Tk->{_prompt} = $next;
    $gather = $gather + $gather_inc;

    #print("new gather is $gather \n\n");

=head2  Delete output 

   of previous top mute

=cut

lib/App/SeismicUnixGui/big_streams/iBottomMute.pl  view on Meta::CPAN

  saying goodbye 
  clear old images
  kill window
  stop script

=cut

sub set_exit {
    my $exit = 'exit';
    $exit_rb->configure( -state => 'normal' );
    $iBM_Tk->{_prompt} = $exit;
    print("Good bye.\n");
    print("Not continuing to next gather\n");
    $xk->kill_this('suximage');
    $xk->kill_this('suxwigb');
    $xk->kill_this('xgraph');
    $mw->destroy() if Tk::Exists($mw);
    exit 1;
}

#			print ("Old top mute parameters MAY NOT exist\n\n") ;

lib/App/SeismicUnixGui/big_streams/iPick.pl  view on Meta::CPAN

use Tk;
use aliased 'App::SeismicUnixGui::misc::L_SU_global_constants';
use aliased 'App::SeismicUnixGui::misc::readfiles';

use aliased 'App::SeismicUnixGui::configs::big_streams::iPick_config';
use aliased 'App::SeismicUnixGui::big_streams::iPick';
use App::SeismicUnixGui::misc::SeismicUnix qw($true $false);
use aliased 'App::SeismicUnixGui::messages::SuMessages';
use aliased 'App::SeismicUnixGui::sunix::shell::xk';

my $iPick_Tk = {_prompt => ''};

=head2 Instantiate classes:

 Create a new version of the package 
 with a unique name

=cut set defaults

my $iPick_config = iPick_config->new();
my $iPick        = iPick->new();

lib/App/SeismicUnixGui/big_streams/iPick.pl  view on Meta::CPAN

        -background => $var->{_my_yellow},
        -value      => 'exit',
        -variable   => \$rb_value,
        -command    => [ \&set_exit ]
    )->pack( -side => 'left' );

    MainLoop;     # for Tk widgets
}   # for new data


=head2 Set the prompt

	value according
	to which button is pressed
	then exit the MainLoop
	destroy the main window after the prompt
	is properly set

=cut  

=head2 sub  set_pick

	callbacks
	
	send gather number to $iPick
	delete output of previous displays

=cut

sub set_pick {

    my ($self) = @_;
    my $pick = 'pick';
    $pick_rb->configure( -state => 'normal' );
    $iPick_Tk->{_prompt} = $pick;

    print("Picking...\n");

    $iPick->gather_num($gather);

=item Delete output 

  of previous muting

=cut

lib/App/SeismicUnixGui/big_streams/iPick.pl  view on Meta::CPAN

       display and show old picks
       (if number_of_tries >1)

=cut

sub set_calc {

    my ($self) = @_;
    my $calc = 'calc';
    $calc_rb->configure( -state => 'normal' );
    $iPick_Tk->{_prompt} = $calc;
    print("Calculating...\n");

=head2 Delete 

   the previous display

=cut

    # $xk->kill_this('suximage');
    # $xk->kill_this('suxwigb');

lib/App/SeismicUnixGui/big_streams/iPick.pl  view on Meta::CPAN


   same as next

=cut

sub set_saveNcont {

    my ($self) = @_;
    my $saveNcont = 'saveNcont';
    $saveNcont_rb->configure( -state => 'normal' );
    $iPick_Tk->{_prompt} = $saveNcont;
    print("Saving and Continuing...\n");

    &set_next();

}


=head2 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

=cut

sub set_next {

    my ($self) = @_;
    print("Next...\n");
    $next_rb->configure( -state => 'normal' );
    my $next = '';
    $iPick_Tk->{_prompt} = $next;
    $gather = $gather + $gather_inc;

    print("new gather is $gather \n\n");

=head2  Delete output 

   of previous top mute

=cut

lib/App/SeismicUnixGui/big_streams/iPick.pl  view on Meta::CPAN

  kill window
  stop script

=cut

sub set_exit {

    my ($self) = @_;
    my $exit = 'exit';
    $exit_rb->configure( -state => 'normal' );
    $iPick_Tk->{_prompt} = $exit;

    print("Good bye.\n");
    print("Not continuing to next gather\n");

    # $xk->kill_this('suximage');
    # $xk->kill_this('suxwigb');
    # $xk->kill_this('xgraph');

    $mw->destroy() if Tk::Exists($mw);
    exit 1;

lib/App/SeismicUnixGui/big_streams/iSpectralAnalysis.pl  view on Meta::CPAN


use Moose;
our $VERSION = '1.1.0';
use Tk;
use Tk::Pretty;
use aliased 'App::SeismicUnixGui::big_streams::iSpectralAnalysis';
use aliased 'App::SeismicUnixGui::sunix::shell::xk';
use aliased 'App::SeismicUnixGui::messages::SuMessages';
use aliased 'App::SeismicUnixGui::misc::L_SU_global_constants';

my $iSA_Tk = {_prompt => ''};


=head2 Instantiate classes:

 Create a new version of the package 
 with a unique name

=cut

my $iSA     = iSpectralAnalysis->new();

lib/App/SeismicUnixGui/big_streams/iSpectralAnalysis.pl  view on Meta::CPAN

    -background =>,
    $var->{_my_yellow},
    -value    => 'pick',
    -variable => \$rb_value,
    -command  => [ \&set_exit ]
)->pack( -side => 'left' );

MainLoop;     # for Tk widgets


=head2 Set the prompt

 value according
 to which button is pressed
 then exit the MainLoop
 destroy the main window after the prompt
 is properly set

=cut  

=head2 sub set_pick

 callbacks

  send gather number to $iSA
  delete output of previous semblance
  plus more callbacks following...


=cut

sub set_pick {
    my $pick = 'pick';
    $pick_rb->configure( -state => 'normal' );
    $iSA_Tk->{_prompt} = $pick;
    print("Picking...\n");
    $iSA->select();
}

=head2 sub set_calc

      -PRESS the CALC button
=cut

sub set_calc {
    my $calc = 'calc';
    $calc_rb->configure( -state => 'normal' );
    $iSA_Tk->{_prompt} = $calc;
    print("Calculating...\n");

=head2 Delete 

   the previous display

=cut

    #$xk->kill_this('suximage');
    #$xk->kill_this('suxwigb');

lib/App/SeismicUnixGui/big_streams/iSpectralAnalysis.pl  view on Meta::CPAN

  saying goodbye 
  clear old images
  kill window
  stop script

=cut

sub set_exit {
    my $exit = 'exit';
    $exit_rb->configure( -state => 'normal' );
    $iSA_Tk->{_prompt} = $exit;
    print("Good bye.\n");
    $xk->kill_this('suximage');
    $xk->kill_this('suxwigb');
    $mw->destroy() if Tk::Exists($mw);
    exit 1;
}

lib/App/SeismicUnixGui/big_streams/iSpectralAnalysis.pm  view on Meta::CPAN

=head2 Spectral Analysis of Waveform

 do not start flow 4 until 
 flow 3 is complete

 flow 4 plots the extracted waveform 
 flow 5 plots the frequency analysis
 flow 6 plots the phase analysis 

 We placed a cmd line
 prompt that requires user to press
 return on keyboard.

=cut

sub analyze {

=head2 Prepare 

  to Analyze extracted waveform

lib/App/SeismicUnixGui/big_streams/iTopMute.pl  view on Meta::CPAN

use Moose;
our $VERSION = '1.0.3';
use aliased 'App::SeismicUnixGui::misc::L_SU_global_constants';
use aliased 'App::SeismicUnixGui::misc::readfiles';
use Tk;
use aliased 'App::SeismicUnixGui::big_streams::iTopMute';
use aliased 'App::SeismicUnixGui::configs::big_streams::iTopMute_config';
use App::SeismicUnixGui::misc::SeismicUnix qw($true $false );
use aliased 'App::SeismicUnixGui::sunix::shell::xk';

my $iTM_Tk = {_prompt => ''};


=head2 Instantiate classes:

 Create a new version of the package 
 with a unique name

=cut

my $iTM             = iTopMute->new();

lib/App/SeismicUnixGui/big_streams/iTopMute.pl  view on Meta::CPAN

        -background => $var->{_my_yellow},
        -value      => 'exit',
        -variable   => \$rb_value,
        -command    => [ \&set_exit ]
    )->pack( -side => 'left' );

    MainLoop;     # for Tk widgets
}   # for new data


=head2 Set the prompt

 value according
 to which button is pressed
 then exit the MainLoop
 destroy the main window after the prompt
 is properly set

=cut  

=head2 sub set_pick

 callbacks

  send gather number to $iTM
  delete output of previous semblance
  plus more callbacks following...


=cut

sub set_pick {
    my $pick = 'pick';
    $pick_rb->configure( -state => 'normal' );
    $iTM_Tk->{_prompt} = $pick;

    print("Picking...\n");

    $iTM->gather_num($gather);

=head2 Delete output 

  of previous muting

=cut

lib/App/SeismicUnixGui/big_streams/iTopMute.pl  view on Meta::CPAN

      -PRESS the CALC button
      -Increment number of tries to make
          display and show old picks
         (if number_of_tries >1)

=cut

sub set_calc {
    my $calc = 'calc';
    $calc_rb->configure( -state => 'normal' );
    $iTM_Tk->{_prompt} = $calc;
    print("Calculating...\n");

=head2 Delete 

   the previous display

=cut

    $xk->kill_this('suximage');
    $xk->kill_this('suxwigb');

lib/App/SeismicUnixGui/big_streams/iTopMute.pl  view on Meta::CPAN


=head2 sub set_saveNcont

   same as next

=cut

sub set_saveNcont {
    my $saveNcont = 'saveNcont';
    $saveNcont_rb->configure( -state => 'normal' );
    $iTM_Tk->{_prompt} = $saveNcont;
    print("Saving and Continuing...\n");

    #$iTM->icp_sorted2oldpicks();
    &set_next();

}


=head2 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

=cut

sub set_next {
    print("Next...\n");
    $next_rb->configure( -state => 'normal' );
    my $next = '';
    $iTM_Tk->{_prompt} = $next;
    $gather = $gather + $gather_inc;

    #print("new gather is $gather \n\n");

=head2  Delete output 

   of previous top mute

=cut

lib/App/SeismicUnixGui/big_streams/iTopMute.pl  view on Meta::CPAN

  saying goodbye 
  clear old images
  kill window
  stop script

=cut

sub set_exit {
    my $exit = 'exit';
    $exit_rb->configure( -state => 'normal' );
    $iTM_Tk->{_prompt} = $exit;
    print("Good bye.\n");
    print("Not continuing to next gather\n");
    $xk->kill_this('suximage');
    $xk->kill_this('suxwigb');
    $xk->kill_this('xgraph');
    $mw->destroy() if Tk::Exists($mw);
    exit 1;
}

#			print ("Old top mute parameters MAY NOT exist\n\n") ;

lib/App/SeismicUnixGui/big_streams/iVA.pl  view on Meta::CPAN

=cut

my $iVA = iVA->new();

=head2 Declare variables 

   in local memory space

=cut

my $iVA_Tk = {_prompt => ''};

my ( $calc_rb, $exit_rb, $pick_rb, $next_rb, $saveNcont_rb );
my $rb_value = "red";
my $old_data;
my $next_step       = 'stop';
my $number_of_tries = 0;
our $mw;

=head2 Check 

lib/App/SeismicUnixGui/big_streams/iVA.pl  view on Meta::CPAN

 and start event-driven loop
 Interaction with user
 initialize values
 If picks are new, show
 message to user on how to pick data
  -Based on semblance,
      decide whether to PICK or move on to NEXT CDP
   -radio_buttons stop flow
   Must be AFTR semblance

 set the prompt value according
 to which button is pressed
 then exit the MainLoop
 destroy the main window after the prompt
 is properly set

=cut

if ( !$old_data ) {

	print("iVelocityAnalysis, no old data\n");
    $iVA->start();

    $mw = MainWindow->new;

lib/App/SeismicUnixGui/big_streams/iVA.pl  view on Meta::CPAN


=cut

sub set_pick {

    my $pick = 'pick';
    $next_rb->configure( -state => 'disabled' );

    #$pick_rb->configure(-state => 'normal');
    $calc_rb->configure( -state => 'normal' );
    $iVA_Tk->{_prompt} = $pick;
    $iVA->pick();
}

=pod sub set_calc

      -PRESS the CALC button
      -Increment number of tries to make
         semblance display interact and show old picks
         (number_of_tries >1)
		-radio_buttons stop flow
           Must be AFTR semblance
           B4  iWrite_All_iva_out

=cut

sub set_calc {

    my $calc = 'calc';
    $next_rb->configure( -state => 'normal' );
    $iVA_Tk->{_prompt} = $calc;
    $iVA->calc();

}

=pod sub set_next

  In this case the $variable is empty
  1. increment cdp
     Exit if beyond last cdp 
  2. reset prompt
  3. Otherwise display the first sembance
  4 ... see following callbacks

=cut


sub set_next {
    print("Next...\n");
    $next_rb->configure( -state => 'normal' );
    $calc_rb->configure( -state => 'disabled' );
    my $next = '';
    $iVA_Tk->{_prompt} = $next;
    $iVA->next();

}

=pod  sub set_exit

  saying goodbye 
  clear old images
  kill window
  stop script

=cut

sub set_exit {
    my $exit = 'exit';
    $exit_rb->configure( -state => 'normal' );
    $iVA_Tk->{_prompt} = $exit;
    $mw->destroy() if Tk::Exists($mw);
    $iVA->exit();
}

=pod sub prompt

 return which prompt has been set

=cut

sub prompt {
    our $variable = $iVA_Tk->{_prompt};
    return ($variable);
}

lib/App/SeismicUnixGui/big_streams/iVA.pm  view on Meta::CPAN

	semblance();

}

=head2 sub next

  1. increment cdp
     update variable variables
        (cdp_num_suffix, Tvel_inbound and Tvel_outbound)
     Exit if beyond last cdp 
  2. reset prompt
     reset the number of tries to zero again
  3. Otherwise display the first semblance
    -Based on semblance,
      decide whether to PICK or move on to NEXT CDP
     -radio_buttons stop flow

   delete output of previous semblance
   delete the output of semblance and iSunmo
   delete the output of Vrms2Vint 

lib/App/SeismicUnixGui/big_streams/iVelocityAnalysis.pl  view on Meta::CPAN

=cut

my $iVA = iVA->new();

=head2 Declare variables 

   in local memory space

=cut

my $iVA_Tk = {_prompt => ''};

my ( $calc_rb, $exit_rb, $pick_rb, $next_rb, $saveNcont_rb );
my $rb_value = "red";
my $old_data;
my $next_step       = 'stop';
my $number_of_tries = 0;
our $mw;

=head2 Check 

lib/App/SeismicUnixGui/big_streams/iVelocityAnalysis.pl  view on Meta::CPAN

 and start event-driven loop
 Interaction with user
 initialize values
 If picks are new, show
 message to user on how to pick data
  -Based on semblance,
      decide whether to PICK or move on to NEXT CDP
   -radio_buttons stop flow
   Must be AFTR semblance

 set the prompt value according
 to which button is pressed
 then exit the MainLoop
 destroy the main window after the prompt
 is properly set

=cut

if ( !$old_data ) {

	print("iVelocityAnalysis, no old data\n");
    $iVA->start();

    $mw = MainWindow->new;

lib/App/SeismicUnixGui/big_streams/iVelocityAnalysis.pl  view on Meta::CPAN


=cut

sub set_pick {

    my $pick = 'pick';
    $next_rb->configure( -state => 'disabled' );

    #$pick_rb->configure(-state => 'normal');
    $calc_rb->configure( -state => 'normal' );
    $iVA_Tk->{_prompt} = $pick;
    $iVA->pick();
}

=pod sub set_calc

      -PRESS the CALC button
      -Increment number of tries to make
         semblance display interact and show old picks
         (number_of_tries >1)
		-radio_buttons stop flow
           Must be AFTR semblance
           B4  iWrite_All_iva_out

=cut

sub set_calc {

    my $calc = 'calc';
    $next_rb->configure( -state => 'normal' );
    $iVA_Tk->{_prompt} = $calc;
    $iVA->calc();

}

=pod sub set_next

  In this case the $variable is empty
  1. increment cdp
     Exit if beyond last cdp 
  2. reset prompt
  3. Otherwise display the first sembance
  4 ... see following callbacks

=cut


sub set_next {
    print("Next...\n");
    $next_rb->configure( -state => 'normal' );
    $calc_rb->configure( -state => 'disabled' );
    my $next = '';
    $iVA_Tk->{_prompt} = $next;
    $iVA->next();

}

=pod  sub set_exit

  saying goodbye 
  clear old images
  kill window
  stop script

=cut

sub set_exit {
    my $exit = 'exit';
    $exit_rb->configure( -state => 'normal' );
    $iVA_Tk->{_prompt} = $exit;
    $mw->destroy() if Tk::Exists($mw);
    $iVA->exit();
}

=pod sub prompt

 return which prompt has been set

=cut

sub prompt {
    our $variable = $iVA_Tk->{_prompt};
    return ($variable);
}

lib/App/SeismicUnixGui/big_streams/immodpg.pl  view on Meta::CPAN

use App::SeismicUnixGui::big_streams::immodpg '0.0.2';
use aliased 'App::SeismicUnixGui::big_streams::immodpg';
use aliased 'App::SeismicUnixGui::sunix::shell::xk';

=head2 private anonymous hash 
used to hand off variables for external printing

=cut

my $immodpg_Tk = {
	_prompt                     => '',
	_base_file_name             => '',
	_pre_digitized_XT_pairs     => '',
	_data_traces                => '',
	_clip4plotEntry             => '',
	_lower_layerLabel           => '',
	_min_t_s                    => '',
	_min_x_m                    => '',
	_mw						    => '',
	_thickness_increment_m      => '',
	_thickness_mEntry           => '',

lib/App/SeismicUnixGui/developer/Stripped/NMO_Vel_Stk/sunmo_a.su.main.stretching_moveout_resamp  view on Meta::CPAN

  v^2	     1 + anis2 x^2						     

 Note: In general, the user should set the cdp parameter.  The default is   
	to use tr.cdp from the first trace and assume only one cdp.	  
 Caveat:								     
 Nmo cannot handle negative moveout as in triplication caused by	     
 anisotropy. But negative moveout happens necessarily for negative anis1 at 
 sufficiently large offsets. Then the error-negative moveout- is printed.   
 Check anis1. An error (anis2 too small) is also printed if the	     
 denominator of the quartic term becomes negative. Check anis2. These errors
 are prompted even if they occur in traces which would not survive the	     
 NMO-stretch threshold. Chop off enough far-offset traces (e.g. with suwind)
 if anis1, anis2 are fine for near-offset traces.			     


 Credits:
	SEP: Shuki, Chuck Sword
	CWP: Shuki, Jack, Dave Hale, Bjoern Rommel
      Modified: 08/08/98 - Carlos E. Theodoro - option for lateral offset
      Modified: 07/11/02 - Sang-yong Suh -
	  added "upward" option to handle decreasing velocity function.

lib/App/SeismicUnixGui/fortran/src/mmodpg4L_SU_Aug27_20_emilio/pgplot.inc  view on Meta::CPAN

      PARAMETER (PGMAXD=8)
C-----------------------------------------------------------------------
C Indentifier of currently selected device.
C-----------------------------------------------------------------------
      INTEGER PGID
C-----------------------------------------------------------------------
C Device status (indexed by device identifier).
C-----------------------------------------------------------------------
C PGDEVS  =0 if device is not open; 1 if device is open.
C PGADVS  Set to 0 by PGBEGIN, set to 1 by PGPAGE; used to suppress
C         the prompt for the first page.
C PROMPT  If .TRUE., ask user before clearing page; set by PGASK
C         and (indirectly) by PGBEGIN, used in PGENV.
C PGBLEV  Buffering level: incremented by PGBBUF, decremented by
C         PGEBUF.
C PGPFIX  TRUE if PGPAP has been called, FALSE otherwise.
C
      INTEGER PGDEVS(PGMAXD), PGADVS(PGMAXD), PGBLEV(PGMAXD)
      LOGICAL PGPRMP(PGMAXD), PGPFIX(PGMAXD)
C-----------------------------------------------------------------------
C Panel parameters (indexed by device identification).

lib/App/SeismicUnixGui/sunix/NMO_Vel_Stk/sunmo_a.pm  view on Meta::CPAN

 Nmo cannot handle negative moveout as in triplication caused by	     

 anisotropy. But negative moveout happens necessarily for negative anis1 at 

 sufficiently large offsets. Then the error-negative moveout- is printed.   

 Check anis1. An error (anis2 too small) is also printed if the	     

 denominator of the quartic term becomes negative. Check anis2. These errors

 are prompted even if they occur in traces which would not survive the	     

 NMO-stretch threshold. Chop off enough far-offset traces (e.g. with suwind)

 if anis1, anis2 are fine for near-offset traces.			     





 Credits:



( run in 0.911 second using v1.01-cache-2.11-cpan-6aa56a78535 )