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: