App-SeismicUnixGui
view release on metacpan or search on metacpan
lib/App/SeismicUnixGui/sunix/statsMath/suinterp.pm view on Meta::CPAN
$suinterp->{_note} . ' nxmax=' . $suinterp->{_nxmax};
$suinterp->{_Step} =
$suinterp->{_Step} . ' nxmax=' . $suinterp->{_nxmax};
}
else {
print("suinterp, nxmax, missing nxmax,\n");
}
}
=head2 sub smooth_ns_t
same as lent
number of samples to smooth in time
=cut
sub smooth_ns_t {
my ( $self, $lent ) = @_;
if ( defined $lent
&& $lent ne $empty_string )
{
$suinterp->{_lent} = $lent;
$suinterp->{_note} =
$suinterp->{_note} . ' lent=' . $suinterp->{_lent};
$suinterp->{_Step} =
$suinterp->{_Step} . ' lent=' . $suinterp->{_lent};
}
else {
print("suinterp, smooth_ns_t, missing smooth_ns_t,\n");
}
}
=head2 sub tmpdir
=cut
sub tmpdir {
my ( $self, $tmpdir ) = @_;
if ( defined $tmpdir
&& $tmpdir ne $empty_string )
{
$suinterp->{_tmpdir} = $tmpdir;
$suinterp->{_note} =
$suinterp->{_note} . ' tmpdir=' . $suinterp->{_tmpdir};
$suinterp->{_Step} =
$suinterp->{_Step} . ' tmpdir=' . $suinterp->{_tmpdir};
}
else {
print("suinterp, tmpdir, missing tmpdir,\n");
}
}
=head2 sub update_num_traces
calculate if we know the original trace separation
.e.g. 2 m or 2 feet
input the original trace separation
return the update trace separation
estimate the new trace separation after interpolation
confirm that interpolation parameters exist
=cut
sub update_num_traces {
my ( $variable, $old_num_traces ) = @_;
if ( defined $old_num_traces
&& $old_num_traces ne $empty_string )
{
$suinterp->{_old_num_traces} = $old_num_traces;
if ( defined $suinterp->{_ninterp}
&& $suinterp->{_ninterp} ne $empty_string )
{
$suinterp->{_update_num_traces} =
( $suinterp->{_old_num_traces} - 1 ) * $suinterp->{_ninterp} +
$suinterp->{_old_num_traces};
}
else {
print("Warning: required number of new interpolated traces\n\n");
}
$suinterp->{_note} =
$suinterp->{_note}
. ' updated_num_traces='
. $suinterp->{_update_num_traces};
print(
"updated number of traces is $suinterp->{_update_num_traces}\n\n");
return $suinterp->{_update_num_traces};
}
}
=head2 sub update_trace_separation
calculate if we know the original trace separation
e.g., 2 m or 2 feet
input the original trace separation
return the update trace separation
estimate the new trace separation after interpolation
confirm that interpolation parameters exist
When ninterp=1
and interpolation factor=1
print ("interpolated trace separation is $suinterp->{_update_trace_separation}\n\n");
print ("interpolation factor is $suinterp->{_interpolation_factor}\n\n");
=cut
sub update_trace_separation {
my ( $variable, $old_trace_separation ) = @_;
if ( defined $old_trace_separation
&& $old_trace_separation ne $empty_string )
{
$suinterp->{_old_trace_separation} = $old_trace_separation;
if ( defined $suinterp->{_ninterp}
&& $suinterp->{_ninterp} ne $empty_string )
{
$suinterp->{_interpolation_factor} = $suinterp->{_ninterp} + 1;
$suinterp->{_update_trace_separation} =
$suinterp->{_old_trace_separation} /
$suinterp->{_interpolation_factor};
$suinterp->{_note} =
$suinterp->{_note}
. ' updated_trace_separation='
. $suinterp->{_update_trace_separation};
return $suinterp->{_update_trace_separation};
}
else {
print("Warning: requires number of new traces to interpolate \n\n");
}
}
}
=head2 sub verbose
=cut
sub verbose {
my ( $self, $verbose ) = @_;
if ( defined $verbose
&& $verbose ne $empty_string )
{
$suinterp->{_verbose} = $verbose;
$suinterp->{_note} =
$suinterp->{_note} . ' verbose=' . $suinterp->{_verbose};
$suinterp->{_Step} =
$suinterp->{_Step} . ' verbose=' . $suinterp->{_verbose};
}
else {
print("suinterp, verbose, missing verbose,\n");
}
}
=head2 sub xopt
=cut
( run in 0.532 second using v1.01-cache-2.11-cpan-39bf76dae61 )