You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kev/Drawer/SSBase/SectionLib/SectionProcess.h

54 lines
1.7 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

//////////////////////////////////////////////////////////////////////////////
//文件: SegY文件操作类
//主要功能:
//
//程序编写: 2005-12-07
//
//
/////////////////////////////////////////////////////////////////////////////
#pragma once
#include "sectiontrace.h"
#include ".\sectionmath.h"
class AFX_EXT_CLASS CSectionProcess :
public CSectionTrace
{
public:
CSectionProcess(void);
virtual ~CSectionProcess(void);
CSectionMath sectionMath; //对地震道进行波阻抗反演
virtual void Clear(void);
virtual void operator=(CSectionProcess& sb);
CTraceData m_traceAttribute; //地震剖面数据,属性值,如果显示为时间剖面时由m_traceData经过属性计算得到
// 当显示的为深度剖面时由m_traceDepth经过属性计算得到
int ToAttributeOne(int nIndex); //根据显示的是时间还是深度剖面将其属性值计算出来
void ToAttribute(void);
virtual void ClearTraceData(void);//清除已读取的地震道数据
virtual void Reversal(void);
int m_nFrequency; //提高频1或低频0
BOOL m_bUniform; //是否规一化
int m_SectionViewMode; //剖面显示模式:0原始,1振幅进行平方
int m_nSectionProcessMode; //剖面处理模式:0缺省,1瞬时振幅,2瞬时相位,3瞬时频率
protected:
virtual void InitSection(); //在显示剖面之前,进行初始化操作
virtual void SectionMath(CVector& vt); //对读取的地震道进行处理
UINT *m_pSmoothMode; //对剖面进行数据处理计算的方式,方式定义在CSectionMath中
int m_SmoothNum; //m_pSmoothMode的长度
public:
//对地震剖面进行道间均衡,N是每组的道数,为奇数
//int Equalizer(CString output,int N,int K,int M,double constant);
//double Average(CVector& vector,CVector& value,int K);
void SetSmoothMode(UINT *pMode,int n);
BOOL IsUniform(void);
float* GetTrace(int i);
};