UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Subcor.h
1 #ifndef __SUBCOR_h
2 #define __SUBCOR_h
3 
4 #include <ldb/vsp_trace.h>
5 
6 /* Макрос для определения центральной трассы */
7 #define MIDDLE(x) ((int)( ((x) & 0x01) ? (x)/2+1 : (x)/2) )
8 #define MID_OFS(x) (MIDDLE(x) - 1)
9 
10 /***************************** Returned code ********************************/
11 #define pkOK 0
12 #define pkONE 1 /*Ничего не суммировалось т.к.всего одна "хор" трасса*/
13 #define pkFAIL -1
14 #define pkINVAL -2
15 #define pkNO_MEM -3
16 
17 /* тип дискрета */
18 typedef float ONE_SAMPLE ;
19 
20 /* тип для хранения и передачи входных параметров */
21 typedef struct _InputParam {
22  int MTR; /* База обработки (число трасс) */
23  float NZ ; /* Смещение левой границы окна анализа влево от времени первого вступления, ms */ float LDP; /* Длина окна анализа в трассе, отсчеты*/ float CFP; /* Предельно допустимый сдвиг, отсчеты */ float porFM; /* Threshold similarity for elimination at correlation */ int ALG; /* алгоритм суммир.: 0-Polycor,1-lin,2-median */ int LE ; /* элементаpная база pасчета весов, ms */ int KLE; /* число элементаpных баз LE в скользящем интеpвале /четное число/ */ float PE ; /* коэф-т учета весов по подобию и энеpгии в совокупной весовой функции */ int TrQuant; /* число обрабатываемых трасс */ float HcabBeg; /* Нач. глубина инт-ла обработки*/ float HcabEnd; /* Конеч. глубина инт-ла обработки*/ float LeftW; /* Смещ. нач. окна вычит. влево от априор. годог. (мс)*/ float LenW; /* Length of Subtraction Window */ int QTR; /* Quantity trace in sliding base */ float TSE; /* Threshold similarity for elimination at selection */ /*-- Parameters of energy filter at stacking by POLYCOR method --*/ float SCW; /* percent of elimination trace by energy (0<=PE<1) */ float WLE; /* shift of average median estimation of energy */ float WLB; /* left part of filter bandwidth */ float WRE; /* left slope of filter */ float WRB; /* right part of filter bandwidth */ float NFP; /* length of CCF */ float Dmed; /* part of eliminated amplitude at median stacking */ float WeightWin; /* size of weight function in ms */ float AKG; float URD; } InputParam; /* тип для хранения и передачи трасс накопления и информации о них */ typedef unsigned char bfType; /* тип для битовых флагов */ typedef struct _Trace4Stack{ TrHeader *hdr; /* указатель на заголовоки */ unsigned int hdrSize; /* размер заголовка в словах */ ONE_SAMPLE *ptr; /* указатель на обрабат. трассы */ float *pstr; /* ук-ль на набор тр., вывед. на верт.*/ float *pptr; /* ук-ль на набор PRT трасс */ float *potr; /* ук-ль на исход. трассы(для комб.т.)*/ unsigned int cntSamples; /* количество отсчетов в трассе */ float *hodog; /* время годографа волны .*/ float *interShift; /* полные относит.сдвиги отн центр.*/ float *shifts; /* уточнение сдвигов между сосед.тр. */ float *aprShift; /* априорные сдвиги между сосед. тр.*/ float *qual; /* таблица коэф. качества */ float *ampl; /* табл. оценок относит. ампл.*/ float *energy; /* табл. оценок энергий */ int cnt; /* количество трасс */ int subcorCnt; /* количество прошедших subcor'ов*/ ONE_SAMPLE *outTrace; /* выходная модельная трасса */ ONE_SAMPLE *outSubTrace; /* выходная трасса остатков */ bfType flags; /* битовые флаги стадии процесса обр.*/ float *Hcab; /* list of previous cable depthes */ int *divFac; /* list of divisible factor */ } Trace4Stack; typedef struct _SizeFFT{ int ideg; int cntTr2; int cntSp; } SizeFFT; typedef struct { int fMedFil; double *spFilOp; SizeFFT lenFFT; } MedFilter; #endif /* __SUBCOR_h */
24  от времени первого вступления, ms */
25  float LDP; /* Длина окна анализа в трассе, отсчеты/ float CFP; /* Предельно допустимый сдвиг, отсчеты */ float porFM; /* Threshold similarity for elimination at correlation */ int ALG; /* алгоритм суммир.: 0-Polycor,1-lin,2-median */ int LE ; /* элементаpная база pасчета весов, ms */ int KLE; /* число элементаpных баз LE в скользящем интеpвале /четное число/ */ float PE ; /* коэф-т учета весов по подобию и энеpгии в совокупной весовой функции */ int TrQuant; /* число обрабатываемых трасс */ float HcabBeg; /* Нач. глубина инт-ла обработки*/ float HcabEnd; /* Конеч. глубина инт-ла обработки*/ float LeftW; /* Смещ. нач. окна вычит. влево от априор. годог. (мс)*/ float LenW; /* Length of Subtraction Window */ int QTR; /* Quantity trace in sliding base */ float TSE; /* Threshold similarity for elimination at selection */ /*-- Parameters of energy filter at stacking by POLYCOR method --*/ float SCW; /* percent of elimination trace by energy (0<=PE<1) */ float WLE; /* shift of average median estimation of energy */ float WLB; /* left part of filter bandwidth */ float WRE; /* left slope of filter */ float WRB; /* right part of filter bandwidth */ float NFP; /* length of CCF */ float Dmed; /* part of eliminated amplitude at median stacking */ float WeightWin; /* size of weight function in ms */ float AKG; float URD; } InputParam; /* тип для хранения и передачи трасс накопления и информации о них */ typedef unsigned char bfType; /* тип для битовых флагов */ typedef struct _Trace4Stack{ TrHeader *hdr; /* указатель на заголовоки */ unsigned int hdrSize; /* размер заголовка в словах */ ONE_SAMPLE *ptr; /* указатель на обрабат. трассы */ float *pstr; /* ук-ль на набор тр., вывед. на верт.*/ float *pptr; /* ук-ль на набор PRT трасс */ float *potr; /* ук-ль на исход. трассы(для комб.т.)*/ unsigned int cntSamples; /* количество отсчетов в трассе */ float *hodog; /* время годографа волны .*/ float *interShift; /* полные относит.сдвиги отн центр.*/ float *shifts; /* уточнение сдвигов между сосед.тр. */ float *aprShift; /* априорные сдвиги между сосед. тр.*/ float *qual; /* таблица коэф. качества */ float *ampl; /* табл. оценок относит. ампл.*/ float *energy; /* табл. оценок энергий */ int cnt; /* количество трасс */ int subcorCnt; /* количество прошедших subcor'ов*/ ONE_SAMPLE *outTrace; /* выходная модельная трасса */ ONE_SAMPLE *outSubTrace; /* выходная трасса остатков */ bfType flags; /* битовые флаги стадии процесса обр.*/ float *Hcab; /* list of previous cable depthes */ int *divFac; /* list of divisible factor */ } Trace4Stack; typedef struct _SizeFFT{ int ideg; int cntTr2; int cntSp; } SizeFFT; typedef struct { int fMedFil; double *spFilOp; SizeFFT lenFFT; } MedFilter; #endif /* __SUBCOR_h */ */
26  float CFP; /* Предельно допустимый сдвиг, отсчеты */
27  float porFM; /* Threshold similarity for elimination at correlation */
28  int ALG; /* алгоритм суммир.: 0-Polycor,1-lin,2-median */
29  int LE ; /* элементаpная база pасчета весов, ms */
30  int KLE; /* число элементаpных баз LE в скользящем
31  интеpвале /четное число/ */
32  float PE ; /* коэф-т учета весов по подобию и энеpгии в совокупной весовой функции */ int TrQuant; /* число обрабатываемых трасс */ float HcabBeg; /* Нач. глубина инт-ла обработки*/ float HcabEnd; /* Конеч. глубина инт-ла обработки*/ float LeftW; /* Смещ. нач. окна вычит. влево от априор. годог. (мс)*/ float LenW; /* Length of Subtraction Window */ int QTR; /* Quantity trace in sliding base */ float TSE; /* Threshold similarity for elimination at selection */ /*-- Parameters of energy filter at stacking by POLYCOR method --*/ float SCW; /* percent of elimination trace by energy (0<=PE<1) */ float WLE; /* shift of average median estimation of energy */ float WLB; /* left part of filter bandwidth */ float WRE; /* left slope of filter */ float WRB; /* right part of filter bandwidth */ float NFP; /* length of CCF */ float Dmed; /* part of eliminated amplitude at median stacking */ float WeightWin; /* size of weight function in ms */ float AKG; float URD; } InputParam; /* тип для хранения и передачи трасс накопления и информации о них */ typedef unsigned char bfType; /* тип для битовых флагов */ typedef struct _Trace4Stack{ TrHeader *hdr; /* указатель на заголовоки */ unsigned int hdrSize; /* размер заголовка в словах */ ONE_SAMPLE *ptr; /* указатель на обрабат. трассы */ float *pstr; /* ук-ль на набор тр., вывед. на верт.*/ float *pptr; /* ук-ль на набор PRT трасс */ float *potr; /* ук-ль на исход. трассы(для комб.т.)*/ unsigned int cntSamples; /* количество отсчетов в трассе */ float *hodog; /* время годографа волны .*/ float *interShift; /* полные относит.сдвиги отн центр.*/ float *shifts; /* уточнение сдвигов между сосед.тр. */ float *aprShift; /* априорные сдвиги между сосед. тр.*/ float *qual; /* таблица коэф. качества */ float *ampl; /* табл. оценок относит. ампл.*/ float *energy; /* табл. оценок энергий */ int cnt; /* количество трасс */ int subcorCnt; /* количество прошедших subcor'ов*/ ONE_SAMPLE *outTrace; /* выходная модельная трасса */ ONE_SAMPLE *outSubTrace; /* выходная трасса остатков */ bfType flags; /* битовые флаги стадии процесса обр.*/ float *Hcab; /* list of previous cable depthes */ int *divFac; /* list of divisible factor */ } Trace4Stack; typedef struct _SizeFFT{ int ideg; int cntTr2; int cntSp; } SizeFFT; typedef struct { int fMedFil; double *spFilOp; SizeFFT lenFFT; } MedFilter; #endif /* __SUBCOR_h */
33  в совокупной весовой функции */
34  int TrQuant; /* число обрабатываемых трасс */
35  float HcabBeg; /* Нач. глубина инт-ла обработки*/
36  float HcabEnd; /* Конеч. глубина инт-ла обработки*/
37  float LeftW; /* Смещ. нач. окна вычит. влево от априор. годог. (мс)*/
38  float LenW; /* Length of Subtraction Window */
39  int QTR; /* Quantity trace in sliding base */
40  float TSE; /* Threshold similarity for elimination at selection */
41  /*-- Parameters of energy filter at stacking by POLYCOR method --*/
42  float SCW; /* percent of elimination trace by energy (0<=PE<1) */
43  float WLE; /* shift of average median estimation of energy */
44  float WLB; /* left part of filter bandwidth */
45  float WRE; /* left slope of filter */
46  float WRB; /* right part of filter bandwidth */
47 
48  float NFP; /* length of CCF */
49  float Dmed; /* part of eliminated amplitude at median stacking */
50  float WeightWin; /* size of weight function in ms */
51  float AKG;
52  float URD;
53 } InputParam;
54 
55 /* тип для хранения и передачи трасс накопления и информации о них / typedef unsigned char bfType; /* тип для битовых флагов */ typedef struct _Trace4Stack{ TrHeader *hdr; /* указатель на заголовоки */ unsigned int hdrSize; /* размер заголовка в словах */ ONE_SAMPLE *ptr; /* указатель на обрабат. трассы */ float *pstr; /* ук-ль на набор тр., вывед. на верт.*/ float *pptr; /* ук-ль на набор PRT трасс */ float *potr; /* ук-ль на исход. трассы(для комб.т.)*/ unsigned int cntSamples; /* количество отсчетов в трассе */ float *hodog; /* время годографа волны .*/ float *interShift; /* полные относит.сдвиги отн центр.*/ float *shifts; /* уточнение сдвигов между сосед.тр. */ float *aprShift; /* априорные сдвиги между сосед. тр.*/ float *qual; /* таблица коэф. качества */ float *ampl; /* табл. оценок относит. ампл.*/ float *energy; /* табл. оценок энергий */ int cnt; /* количество трасс */ int subcorCnt; /* количество прошедших subcor'ов*/ ONE_SAMPLE *outTrace; /* выходная модельная трасса */ ONE_SAMPLE *outSubTrace; /* выходная трасса остатков */ bfType flags; /* битовые флаги стадии процесса обр.*/ float *Hcab; /* list of previous cable depthes */ int *divFac; /* list of divisible factor */ } Trace4Stack; typedef struct _SizeFFT{ int ideg; int cntTr2; int cntSp; } SizeFFT; typedef struct { int fMedFil; double *spFilOp; SizeFFT lenFFT; } MedFilter; #endif /* __SUBCOR_h */ */
56 typedef unsigned char bfType; /* тип для битовых флагов */
57 
58 typedef struct _Trace4Stack{
59  TrHeader *hdr; /* указатель на заголовоки */
60  unsigned int hdrSize; /* размер заголовка в словах / ONE_SAMPLE *ptr; /* указатель на обрабат. трассы */ float *pstr; /* ук-ль на набор тр., вывед. на верт.*/ float *pptr; /* ук-ль на набор PRT трасс */ float *potr; /* ук-ль на исход. трассы(для комб.т.)*/ unsigned int cntSamples; /* количество отсчетов в трассе */ float *hodog; /* время годографа волны .*/ float *interShift; /* полные относит.сдвиги отн центр.*/ float *shifts; /* уточнение сдвигов между сосед.тр. */ float *aprShift; /* априорные сдвиги между сосед. тр.*/ float *qual; /* таблица коэф. качества */ float *ampl; /* табл. оценок относит. ампл.*/ float *energy; /* табл. оценок энергий */ int cnt; /* количество трасс */ int subcorCnt; /* количество прошедших subcor'ов*/ ONE_SAMPLE *outTrace; /* выходная модельная трасса */ ONE_SAMPLE *outSubTrace; /* выходная трасса остатков */ bfType flags; /* битовые флаги стадии процесса обр.*/ float *Hcab; /* list of previous cable depthes */ int *divFac; /* list of divisible factor */ } Trace4Stack; typedef struct _SizeFFT{ int ideg; int cntTr2; int cntSp; } SizeFFT; typedef struct { int fMedFil; double *spFilOp; SizeFFT lenFFT; } MedFilter; #endif /* __SUBCOR_h */ */
61  ONE_SAMPLE *ptr; /* указатель на обрабат. трассы */
62  float *pstr; /* ук-ль на набор тр., вывед. на верт.*/
63  float *pptr; /* ук-ль на набор PRT трасс */
64  float *potr; /* ук-ль на исход. трассы(для комб.т.)*/
65  unsigned int cntSamples; /* количество отсчетов в трассе */
66  float *hodog; /* время годографа волны .*/
67  float *interShift; /* полные относит.сдвиги отн центр.*/
68  float *shifts; /* уточнение сдвигов между сосед.тр. */
69  float *aprShift; /* априорные сдвиги между сосед. тр.*/
70  float *qual; /* таблица коэф. качества */
71  float *ampl; /* табл. оценок относит. ампл.*/
72  float *energy; /* табл. оценок энергий */
73  int cnt; /* количество трасс */
74  int subcorCnt; /* количество прошедших subcor'ов*/
75  ONE_SAMPLE *outTrace; /* выходная модельная трасса */
76  ONE_SAMPLE *outSubTrace; /* выходная трасса остатков */
77  bfType flags; /* битовые флаги стадии процесса обр./ float *Hcab; /* list of previous cable depthes */ int *divFac; /* list of divisible factor */ } Trace4Stack; typedef struct _SizeFFT{ int ideg; int cntTr2; int cntSp; } SizeFFT; typedef struct { int fMedFil; double *spFilOp; SizeFFT lenFFT; } MedFilter; #endif /* __SUBCOR_h */ */
78  float *Hcab; /* list of previous cable depthes */
79  int *divFac; /* list of divisible factor */
80 } Trace4Stack;
81 
82 typedef struct _SizeFFT{
83  int ideg;
84  int cntTr2;
85  int cntSp;
86 } SizeFFT;
87 
88 typedef struct {
89  int fMedFil;
90  double *spFilOp;
91  SizeFFT lenFFT;
92 } MedFilter;
93 
94 
95 #endif /* __SUBCOR_h */
Definition: trace_file.h:15
Definition: Subcor.h:88
Definition: Subcor.h:82
Definition: Subcor.h:21
Definition: Subcor.h:58