////////////////////////////////////////////////////////////////////////////// //文件: 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); };