El documento presenta Madagascar, un software de código abierto para el análisis multidimensional de datos geofísicos. Describe las características del entorno Madagascar, incluyendo módulos en C y flujos de procesamiento en Python, lo que permite ejecutar experimentos de manera reproducible. También explica cómo instalar Madagascar y realizar operaciones básicas como generar señales, agregar ruido, filtrar y visualizar espectros.
PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...
Parte01
1. Taller Madagascar
Introducci´on al desarrollo de Atributos S´ısmicos
Herling Gonzalez Alvarez
Instituto Colombiano del Petroleo, Universidad Industrial de Santander
18 de Septiembre de 2015
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 1 / 49
2. Describiendo el entorno Madagascar
Madagascar es un software opensource para el an´alisis de
multi-dimensional de datos geof´ısico. Tiene la propiedad de desarrollarse
con experimentos reproducibles de manera computacional. Su objetivo es
proveer
Un entorno de desarrollo poderoso y conveniente para el an´alisis de
datos.
Una herramienta para la transferencia tecnol´ogica entre comunidades
cient´ıficas.
Madagascar se origino en 2003 basado en la experiencia de paquetes
open-source como Seismic Unix y SEPlib, escrito totalmente desde cero.
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 2 / 49
3. Describiendo el entorno Madagascar
Hay un conjunto de aplicaciones que se basan en dos niveles:
Un nivel-bajo para m´odulos especializados, desarrollados en lenguaje
Ansi-C.
Un nivel-alto para el flujo de procesamiento, basado en los m´odulos
anteriores con la ayuda del leguaje Python .
Esta combinaci´on permite la ejecuci´on pruebas de manera reproducibles y
documentables. La experiencia muestra que el desarrollo de algoritmos en
un lenguaje de alto-nivel es manejado f´acilmente aun si se est´a iniciando
en Madagascar. El proyecto Madagascar tiene como objetivo proveer un
entorno de investigaci´on compartido para el an´alisis computacional de
datos geof´ısicos.
visita la pagina: www.ahay.org
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 3 / 49
4. Describiendo el entorno Madagascar
El entorno consiste de las siguientes caracter´ısticas:
Un conjunto de programas auxiliares “Standalone” para el an´alisis de datos.
Un conjunto de programas para el procesado de datos geof´ısicos tambi´en “Standalone”.
Un conjunto de desarrollo basado en los lenguajes C, C++, Java, Fortran-77, Fortran-90,
Python, Matlab, and Octave. Esto permite que diferentes usuarios puedan desarrollar sus
propios m´odulos o programas de acuerdo a la experiencia que tenga en lenguajes de
programaci´on.
Un esquema para el desarrollo y ejecuci´on de experimentos computacionales
(reproducibles) basados con la herramienta SCons.
Un esquema para componer documentos cient´ıficos basados en SCons y LaTeX.
Una colecci´on de art´ıculos cient´ıficos reproducibles, ver:
http://www.ahay.org/wiki/Reproducible Documents.
Una colecci´on de base de datos como flujos de entrada para la ejecuci´on de experimentos
numericos.
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 4 / 49
5. Madagascar - Instalaci´on
Esta gu´ıa sirve como una breve introducci´on a los diferentes componentes
de Madagascar pasando por la instalaci´on, configuraci´on y ejecuci´on de
aplicaciones.
Para Ubuntu, Debian instalar lo siguiente:
sudo apt-get install scons libc6-dev gcc g++ gfortran libxaw7-dev
freeglut3-dev libnetpbm10-dev libtiff4-dev libgd-dev libplplot-dev
libavcodec-dev libcairo2-dev libjpeg-dev libblas-dev swig python-dev
python-numpy libopenmpi-dev libfftw3-dev libsuitesparse-dev python-epydoc
Para Fedora, Centos instalar lo siguiente:
# yum -y install binutils gcc glibc-headers scons texlive-latex subversion
gcc-c++ gcc-gfortran numpy python swig octave octave-devel libgomp openmpi
openmpi-devel blas-devel atlas atlas-devel units gifsicle ffmpeg-devel
libtiff-devel libjpeg-devel plplot-devel mesa-libGL-devel freeglut-devel
libXaw-devel netpbm-devel
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 5 / 49
6. Madagascar - Instalaci´on
Tambi´en es posible instalar (opcional) el entorno para composici´on de
documentos LATEX2ε, SEGTeX, est´andar para publicaciones en Geophysics.
Consiste de:
LaTeX2e, para art´ıculos en Geophysics, SEG expanded abstracts, etc.
BibTeX, “seg.bst y SEG.bib” indice referencia entre autores.
Configuracion “latex2html” para generar documentos tipo web.
Descargar desde aqu´ı: http://sourceforge.net/projects/segtex/files/
$ tar xvzf segtex-0.9.3.tar.gz
$ cd segtex-0.9.3
$ sudo cp -r -u texmf/ /usr/share
$ sudo cp -r -u texmf/ /usr/local/share
$ sudo cp -r -u texmf/ /var/lib
$ sudo texhash; sudo texconfig rehash
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 6 / 49
7. Madagascar - Instalaci´on
Ahora descargar desde aqu´ı: http://sourceforge.net/projects/rsf/files/
$ tar xvzf madagascar-1.6.5.tar.gz
$ mv -u madagascar-1.6.5 $HOME/rsfsrc
$ cd $HOME/rsfsrc
$ export RSFROOT=$HOME/rsf
$ export RSFSRC=$HOME/rsfsrc
$ export DATAPATH=$HOME/Data/
$ mkdir $HOME/Data
$ ./configure
$ make; make install
$ cat $RSFSRC/env.sh >> $HOME/.bashrc
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 7 / 49
9. Un primer vistazo al manejo b´asico
Para cualquier se˜nal es importante conocer que caracter´ısticas tiene, como
por ejemplo su contenido espectral. Hagamos una se˜nal arm´onica de 40
Hz, muestreada1 a 500 Hz (0.001s), con 100 muestras, representada de
manera general como: s(t) = A(t)eiωt
$ sfmath n1=100 d1=0.001 o1=0.0
output="sin(2*3.1415*40*x1)" > segnal.rsf
$ sfgraph < segnal.rsf | sfpen
de esta se˜nal extraigamos su espectro
$ sfspectra < segnal.rsf | sfgraph | sfpen
Para un mayor descripci´on ejecute el modulo “sfspectra”, all´ı encuentra
no solo los par´ametros sino tambi´en en que otros proyectos ha sido usado,
como su c´odigo fuente en $HOME/rsfsrc.
1
Tama˜no de la muestra dt = 1/(2fm), donde fm = 500Hz
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 9 / 49
10. Aislando el ruido (filtrado de se˜nales)
Podemos agregar un nivel de ruido al dato con el objetivo de aislar la
informaci´on de inter´es y reconocer su perfil espectral.
$ sfnoise < segnal.rsf seed="time(NULL)" > ruido.rsf
Comparando los espectros tenemos:
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 10 / 49
11. Aislando el ruido
Si aplicamos un filtro pasabanda que deja pasar un determinado rango de
frecuencias de la se˜nal y aten´ua el resto (Oppenheim 1987), conseguiremos
aislar el ruido de la se˜nal (siempre cuando la frecuencia sea conocida).
Escogeremos las frecuencias de 10Hz hasta 80Hz para definir el filtro.
$ sfbandpass flo=10 fhi=80 < ruido.rsf | sfgraph | sfpen
La idea es “reducir” los componentes de altas frecuencia introducidos por
el ruido.
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 11 / 49
12. Aislando el ruido
De la se˜nal reconstruida podemos hacer comparaciones:
Como puede observarse el “filtrado” no es suficiente para extraer la mejor
informaci´on. La utilizaci´on del pasabanda no es garant´ıa absoluta, aun
cuando el contenido de frecuencia es constante en el tiempo y en
menor grado cuando los contenidos de frecuencias son variables en
el tiempo, caso de se˜nales reales o datos s´ısmicos.
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 12 / 49
13. Colocando todo como un flujo
Tomar el editor favorito, transcribir el siguiente script, y salvarlo con el
nombre “SConstruct” (sin extensi´on) y ejecutar: scons ´o scons view
from rsf.proj import *
from math import *
Pi = 4.0*atan(1.0)
Frq = 40
n1 = 100
d1 = 0.001
o1 = 0.0
Flow ('segnal',None,'''math n1= %d d1= %g o1= %g
output="sin(2* %g* %g*x1)"
''' %(n1,d1,o1,Pi,Frq) )
Flow ('ruido ','segnal', 'noise')
Flow ('espec1','segnal', 'spectra')
Flow ('espec2','ruido ', 'spectra')
Flow ('filtr ','ruido ', 'sfbandpass flo=10 fhi=80')
Flow ('espec3','filtr ', 'spectra')
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 13 / 49
14. Colocando todo como un flujo
Plot ('plot1','segnal','''graph title="Segnal Armonica de %s Hz"
label1="Tiempo" unit1="Seg" ''' %(Frq) )
Plot ('plot2','ruido','''graph title="Segnal Armonica de %s Hz con
Ruido" label1="Tiempo" unit1="Seg" ''' %(Frq) )
Plot ('plot3','espec1','''graph title="Espectro Segnal Armonica"
label1="Frecuencia" unit1=Hz ''' )
Plot ('plot4','espec2','''graph title="Espectro Segnal Armonica con
Ruido" label1="Frecuencia" unit1=Hz ''' )
Plot ('plot5','filtr','''graph title="Segnal Armonica de %s Hz
filtrada" label1="Tiempo" unit1="Seg" ''' %(Frq) )
Plot ('plot6','espec3','''graph title="Espectro Segnal Armonica
filtrada" label1="Frecuencia" unit1=Hz ''')
Result('Vplots1','plot1 plot3','OverUnderAniso' )
Result('Vplots2','plot2 plot4','OverUnderAniso' )
Result('Vplots3','plot5 plot6','OverUnderAniso' )
End()
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 14 / 49
15. scons, SConstruct
..ejecutar en la terminal:
scons
scons view
scons -c
scons -Q > salida.sh
M´as informacion en:
www.ahay.org/wiki/Reproducible computational experiments using SC ons
http://www.ahay.org/wiki/Revisiting SEP tour with Madagascar and SCons
www.ahay.org/wiki/Guide to madagascar programs
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 15 / 49
16. Conceptos Linux/Unix para entender Madagascar
Redireccion
En la mayor´ıa de procesos Linux/Unix (comandos y programas)
existen entrada y salida de datos. Los operadores de redirecci´on,
“redirigen” la entrada y salida de procesos.
proceso1 < archivo1 archivo1 es la entrada para el proceso1.
proceso2 > archivo2 salida del proceso2 al archivo2.
proceso3 >> archivo2 salida del proceso3 adjunta salida al archivo2.
¿Que es una Redirecci´on?
Existen tres modos para IN-OUT datos: el stdin teclado, el stdout
pantalla y el stderr. La redirecci´on simplemente significa la captura de
una salida est´andar de un archivo, comando, programa, etc. y su
envi´o como entrada est´andar a otro archivo, entidad de datos, etc.
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 16 / 49
17. Conceptos Linux/Unix para entender Madagascar
Ejemplos:
cat < .bash profile
el archivo oculto “.bash profile” es la entrada para cat que a su vez
despliega en pantalla.
ps -aux > procesos.txt
La salida estandar del programa ps es guardada en el archivo
“procesos.txt”.
cat < .bash profile > profile.txt
Tambi´en se puede dar de manera combinada.
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 17 / 49
18. Conceptos Linux/Unix para entender Madagascar
Tuber´ıas
Una Tuber´ıa es un m´etodo de
comunicaci´on entre procesos,
env´ıa la salida est´andar de un
proceso a la entrada est´andar de
otro. Es decir las tuber´ıas
permiten los datos fluir desde un
proceso a otro.
proceso1 | proceso2 La salida del proceso1 es la entrada del proceso2.
Ejemplo:
sfmath n1=100 n2=100 d1=1 d2=1 output="2*x1+1900"|sfnoise
type=y | sfgrey color=j mean=y scalebar=y | sfpen
Genera y visualiza un gradiente de velocidad en 2D
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 18 / 49
19. SConstruct
Hacer: gedit SConstruct & ´o gvim SConstruct &
...agregar el siguiente texto:
from rsf.proj import *
Flow('vel',None,'''sfmath n1=100 n2=100 d1=1 d2=1
output="2*x1+1900" | sfnoise type=y''')
Plot('vel','''sfgrey color=j mean=y scalebar=y''',view=1)
End()
..y ejecutar en consola: scons
Se recomienda leer el articulo “Reproducible Research as a Community
Effort” de Sergey Fomel (Fomel 2015).
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 19 / 49
20. Algo aplicado: Atributos S´ısmicos
Un atributo s´ısmico es cualquier
estimaci´on desde los datos s´ısmicos
que permite visualizar o cuantificar
caracter´ısticas estructurales y
litol´ogicas de inter´es.
De un atributo se espera que este
relacionado con las caracter´ısticas
geol´ogicas que permitan definir
estructuras o ambiente
depositacionales.
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 20 / 49
21. Modelo Convolucional para la Traza S´ısmica
Figura : Tomada de (Partyka, Gridley, and Lopez 1999)
El perfil s´ısmico es una Respuesta
de una ond´ıcula (perturbaci´on) en
convoluci´on con las capas
geol´ogicas.
Los cambios en la respuesta s´ısmica en t´erminos de amplitud, frecuencia y
fase, Dependen del contraste de la impedancia ac´ustica y el espesor de las
capas.
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 21 / 49
23. Imagen S´ısmica y Yacimiento
La impedancia ac´ustica Ii = ρ vi es
afectada por el tipo de Litolog´ıa,
porosidad, densidad y tipo de
saturaci´on de fluidos.
Consecuentemente, el avance del
frente de onda s´ısmico observado en
una secci´on procesada difiere de
manera lateral entre eventos
asociados a litolog´ıas y Espesores.
R =
ρ2v2 − ρ1v1
ρ2v2 + ρ1v1
En otras palabras, un cambio fuerte lateral en el contraste de impedancia
da origen un cambio fuerte lateral en el car´acter del perfil de onda s´ısmico.
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 23 / 49
24. Tomado de (Bacon, Simm, and Redshaw 2007).
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 24 / 49
25. Clasificacion de Atributos
Existen dos clases de atributos s´ısmicos;
Los que permiten extraer informaci´on estructural como fallas y
fracturas, canales fluviales, etc. a trav´es de cambios de la continuidad
en amplitud de las trazas vecinas.
Y los que por medio de la informaci´on de la fase, amplitud y
contenidos de frecuencia extraen informaci´on litol´ogica y saturaci´on
de fluidos.
Los atributos estructurales no son tan sensibles al procesamiento
convencional Mientras este haya sido adecuado para eliminar ruido
coherente y aleatorio. Sin Embargo los atributos que extraen informaci´on
litol´ogica son muy sensibles a la Preservaci´on de la amplitud y al filtrado
de contenidos frecuencias Fundamentales (para tener en cuenta).
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 25 / 49
26. Atributos Instant´aneos: An´alisis de Traza Compleja
Tomado de (Taner, Koehler, and Sheriff 1979).
La transformada de Hilbert (HT) ha sido usada en procesamiento e
interpretaci´on de datos s´ısmicos de manera convencional. Una aplicaci´on
muy com´un de HT es el an´alisis de traza compleja, usada para estimar la
fase instant´anea, frecuencia y el modulo de amplitud. El an´alisis de traza
compleja puede ser de ayuda para calcular convoluci´on, correlaci´on,
semblanza as´ı como otros tipos de c´alculos (Taner, Koehler, and Sheriff
1979).
Esto nos permite estimar las propiedades de la respuesta en amplitud, fase
y ancho espectral asociado como atributos en las trazas s´ısmicas.
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 26 / 49
27. Traza S´ısmica Anal´ıtica: Dominio de Hilbert.
s(t) Traza real
u
Traza Analitica
s U
Transformada de Hilbert de s(t)
c(t) = s(t) + i H{s(t)} = s(t) + i
1
2π
vp
+∞
−∞
s(τ)
t − τ
dτ
donde vp es el valor principal de Cauchy, que representa la salvedad en
limite de la singularidad de una funci´on de variable compleja (Arfken and
Weber 2005).
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 27 / 49
28. Atributos Instant´aneos: Dominio de Hilbert.
La transformada de Hilbert puede ser vista (tratamiento de se˜nales) como
un filtro cual convierte senos en cosenos, o tambi´en llamado filtro de
corrimiento de fase π/2. M´as espec´ıficamente si la entrada es
cos (ωt + φ1), la salida puede ser cos (ωt + φ1 + π/2). Esto es de ayuda
para para construir la envolvente de una funci´on temporal (Claerbout
1985).
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 28 / 49
29. Atributos Instant´aneos: Dominio de Hilbert.
Figura : Traza compleja representada helicoidalmente como amplitud variable en
el eje del tiempo. La proyecci´on en el plano real representa la traza s´ısmica y en
plano imaginario la cuadratura de la traza (Transformada de Hilbert). Imagen
modificada de (Taner, Koehler, and Sheriff 1979).
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 29 / 49
30. La base te´orica de HT en el dominio de la frecuencia puede ser expresado
como (Claerbout 1985):
h(ω) = i · F(ω) · Sign(ω) (1)
donde F(ω) es la transformada de Fourier de una traza de entrada s(t),
h(ω) es la transformada de Hilbert de s(t) en el dominio de la frecuencia y
Sign(ω)
1 ω < 0
−1 ω > 0.
#include<stdlib.h>
#include<stdio.h>
#define sign(x) ( (x>0)-(x<0) )
void main(){
float x1=3.023,x2=-0.00002, x3=0.0;
printf("nsign( %f)= %dn", x1,sign(x1));
printf("sign( %f)= %dn", x2,sign(x2));
printf("sign( %f)= %dn", x3,sign(x3));
}
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 30 / 49
31. Atributos Instant´aneos:
Si s(t) representa una traza s´ısmica como funci´on del tiempo. La
correspondiente traza compleja c(t) est´a definida como:
c(t) = s(t) + i h(t) (2)
donde h(t) es nuestra HT de una traza real s(t). Podemos representar la
traza compleja en t´erminos de la envolvente A(t) ´o amplitud instant´anea y
la fase instant´anea φ(t), como:
c(t) = A(t)ei φ(t)
. (3)
donde
A(t) = |c(t)| = s(t)2 + { [c(t)]}2 (4)
φ(t) = tan−1 [c(t)]
[c(t)]
(5)
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 31 / 49
32. Por definici´on, la frecuencia instant´anea es la derivada de la fase
instant´anea (Taner, Koehler, and Sheriff 1979)
ω(t) =
dφ(t)
dt
=
dc(t)
dt
c(t)
=
s(t)dh(t)
dt − ds(t)
dt h(t)
s2(t) + h2(t)
.
(6)
tenga en cuenta que ω(t) = 2πf(t) ≡ [Rad Hz]
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 32 / 49
33. Ejemplo de flujo general
SEGY: Archivos para intercambio de datos s´ısmicos.
RSF: Archivos Madagascar (Regularly Sampled Format).
VPLOT: Formato independiente para gr´aficos de Madagascar.
Permite la convercion a otros formatos (PNG,EPS,PDF,JPG,etc).
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 33 / 49
36. Flujo para tratamiento de datos RSF
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 36 / 49
37. ...codigo...
/* Use the Hilbert transform to generate an analytic trace.
It makes use of the sf_hilbert function to calculate the
quadrature of the trace
*/
#include <math.h>
#include <rsf.h>
#define Real(z,i) (z)[(i)*2]
#define Imag(z,i) (z)[(i)*2+1]
int main(int argc, char* argv[])
{
int i,j;
int ns; //number of samples
int ntr; //number of traces
float Re,Im; //aux values
sf_init(argc,argv); // Initialize RSF
sf_file in = sf_input("in"); // RSF file input
sf_file out = sf_output("out"); // RSF file output
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 37 / 49
38. ...codigo...
// n1 is number of samples
if (!sf_histint(in,"n1", &ns))
sf_error("No n1= in input");
// leftsize gets n2*n3*n4*...
// (the number of traces)
ntr = sf_leftsize(in,1);
// Hilbert init function
sf_hilbert_init(ns,100,1.0);
// allocate memory for the trace
float *trace = sf_floatalloc (ns);
float *hilb = sf_floatalloc (ns);
float *ctrace = sf_floatalloc (2*ns);//complex varible
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 38 / 49
39. // loop over traces
for (i=0; i < ntr; i++) {
// read a trace
sf_floatread(trace,ns,in);
//hilbert transform
sf_hilbert(trace,hilb);
// build the complex trace
for(j=0; j<ns; j++){
Real(ctrace,j) = trace[j];
Imag(ctrace,j) = hilb[j];
}
//envelope
for(j=0; j<ns; j++){
Re = Real(ctrace,j);
Im = Imag(ctrace,j);
trace[j] = sqrt(Re*Re + Im*Im);
}
// write a trace
sf_floatwrite(trace,ns,out);
}
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 39 / 49
40. free(ctrace);//free memory allocated
free(trace);
free(hilb);
sf_close(); //close read/write RSF file
return(0);
}
Archivo “SConstruct” para compilar
import os
RSFROOT=os.environ['RSFROOT']
env = Environment(LIBS=['m','rsf'],
CFLAGS=['-Wall','-g','-fopenmp'],
LIBPATH=['/usr/lib',RSFROOT+'/lib'],
CPPPATH=['/usr/include',RSFROOT+'/include'])
env.Append(LINKFLAGS=['-fopenmp'])
env.Program(target='Myprogram', source='analytic.c' )
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 40 / 49
41. Directorio y archivos para “Flujo 1”
Ejecute dentro de Flujo 1/
sftour scons; scons
scons view
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 41 / 49
42. Flujo para tratamiento de datos RSF
...
### analytic trace ###
Flow ('analytic','sismica','''./analytic_trace/Myprogram''')
Result('plot3','analytic','''sfwindow min1=1.6 max1=2.2 | sfgrey color=j
allpos=y title="Imagen Atributo" ''')
End()
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 42 / 49
43. Convirtiendo a otros formatos de im´agenes
Al ejecutar dentro de Flujo1/ las instrucciones:
sftour scons; scons
scons view
se crea un directorio Fig/ con las im´agenes VPL. Para convertir del
formato VPL, a otros formatos como:
avi eps gif jpeg jpg mpeg mpg pdf png ppm ps svg tif tiff.
Ejecute por ejemplo la siguiente instrucci´on:
vpconvert Fig/plot3.vpl format=pdf
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 43 / 49
44. Aproximaciones de la frecuencia instant´anea.
La ecuaci´on (6) requiere dos diferenciaciones para calcular la frecuencia
instant´anea. Para estimar dω(t)/dt definiremos tres aproximaciones, la
opci´on depende del grado de eficiencia computacional.
Teniendo en cuenta la definici´on de frecuencia instant´anea promedio fa(t)
basado en la definici´on de la frecuencia instant´anea en el intervalo t y
t + ∆t:
fa(t) =
1
∆t
t+∆t
t
f(τ) dτ (7)
Para datos muestreados con ∆t podemos reescribir (7) como:
fa(t) =
ω(t + ∆t) − ω(t)
2π∆t
. (8)
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 44 / 49
45. Aproximaciones de la frecuencia instant´anea.
De lo anterior podemos decir que para datos muestreados con ∆t podemos
expresar en diferencias finitas de primer orden la ecuaci´on (8) como:
fa(t)
ω(i + 1) − ω(i)
2π∆t
. (9)
Esta expresi´on tiene el inconveniente de introducir una evaluaci´on con un
desplazamiento de medio paso de tiempo, debido al operador. Se puede
plantear un segundo orden para operador de diferencias finitas, y mejorar
la precisi´on.
fa(t)
ω(i + 1) − ω(i − 1)
4π∆t
. (10)
Donde (i ± 1) = (t ± ∆t) e (i) = (t).
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 45 / 49
46. Homework: Evaluar las otras expresiones para el calculo de frecuencia
instant´anea basadas en el articulo de (Barnes 1992).
Consejos:
Para leer el tama˜no de las muestreas ∆t de las trazas, hay que incluir
la siguiente instrucci´on dentro del programa:
// sample trace
if (! sf_histfloat(in ,"d1", &dt))
sf_error("No d1= in input");
Tambi´en se puede visualizar con:
sfimage < analytic.rsf legend =1 perc =99 cmap="hsv1"
Para estimar la fase instant´anea φ(t), se puede escribir lo siguiente:
for(j=0; j<ns; j++){
Re = Real(ctrace ,j);
Im = Imag(ctrace ,j);
trace[j] = atan2(Im ,Re);
}
Se recomienda leer: http://www.ahay.org/RSF/book/rsf/manual/
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 46 / 49
47. Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 47 / 49
48. Arfken, G. B. and H. J. Weber (2005).
Mathematical Methods for Physicists.
San Diego, CA: Elsevier Acadeic press.
Bacon, M., R. Simm, and T. Redshaw (2007).
3-D Seismic Interpretation.
Cambridge, United Kingdom: Cambridge University Press.
Barnes, A. E. (1992).
The calculation of instataneous frequency and instataneous bandwidth.
Geophysics 57, 1520–1524.
Claerbout, J. (1985).
Imaging the Earth’s Interior.
Oxford: Blackwell Scientific Publications.
Fomel, S. (2015).
Reproducible research as a community effort.
IEEE Computing in Science and Engineering 17, 20–26.
Oppenheim, A. V. (1987).
Applications of Digital Signal Proccessing.
Massachusetts Institute of Technology Cambridge, New Jersey: Prentice-Hall.
Partyka, G., J. Gridley, and J. Lopez (1999).
Interpretational applications of spectral decomposition in reservoir characterization.
The Leading Edge, 353–360.
Taner, M. T., F. Koehler, and R. E. Sheriff (1979).
Complex seismic trace analysis.
Geophysics 44, 1041–1063.
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 48 / 49
49. Atribuci´on-NoComercial 4.0 Internacional
Usted es libre de:
Compartir: copiar y redistribuir el material en cualquier medio o
formato.
Adaptar: re-mezclar, transformar y crear a partir del material.
Bajo las siguientes t´erminos:
Atribuci´on. Usted debe reconocer el cr´edito de una obra de
manera adecuada, proporcionar un enlace a la licencia, e indicar si
se han realizado cambios. El licenciamiento lo recibe por el uso que
hace.
No Comercial. Usted no puede hacer uso del material con
fines comerciales.
No hay restricciones adicionales. Aprenda m´as sobre el licenciamiento CC,
en el siguiente enlace.
http://creativecommons.org/licenses/by-nc/4.0/deed.es
Herling G. A. (Geof´ısica-ICP-Ecopetrol) Taller RSF 18/09/15 49 / 49