OpendTect-6_4  6.4
uiamplspectrum.h
Go to the documentation of this file.
1 #ifndef uiamplspectrum_h
2 #define uiamplspectrum_h
3 
4 /*
5 ________________________________________________________________________
6 
7 (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8 Author: Satyaki Maitra
9 Date: September 2007
10 RCS: $Id$
11 ______________________________________________________________________
12 
13 */
14 
15 #include "uitoolsmod.h"
16 #include "uidialog.h"
17 #include "datapack.h"
18 #include "survinfo.h"
19 #include "odcomplex.h"
20 
21 class uiCheckBox;
22 class uiGenInput;
23 class uiFunctionDisplay;
24 class uiLabeledSpinBox;
25 class uiPushButton;
26 namespace Fourier { class CC; }
27 template <class T> class Array1D;
28 template <class T> class Array2D;
29 template <class T> class Array3D;
30 template <class T> class Array1DImpl;
31 
32 
35 public:
36  struct Setup
37  {
39  bool iscep=false, float nyqst=SI().zStep() )
40  : caption_(t)
41  , nyqvistspspace_(nyqst)
42  , iscepstrum_(iscep) {}
43 
44  mDefSetupMemb(uiString,caption)
45  mDefSetupMemb(float,nyqvistspspace)
46  mDefSetupMemb(bool,iscepstrum)
47  };
48 
50  const uiAmplSpectrum::Setup& =
52  ~uiAmplSpectrum();
53 
54  void setDataPackID(DataPack::ID,DataPackMgr::ID,
55  int version=0);
56  void setData(const float* array,int size);
57  void setData(const Array1D<float>&);
58  void setData(const Array2D<float>&);
59  void setData(const Array3D<float>&);
60 
61  void getSpectrumData(Array1DImpl<float>&);
62  Interval<float> getPosRange() const { return posrange_; }
63 
64 protected:
65 
74 
75  void initFFT(int nrsamples);
76  bool compute(const Array3D<float>&);
77  void putDispData(CallBacker*);
78  void valChgd(CallBacker*);
79 
81 
87  float maxspecval_;
88 
90 
92  int nrtrcs_;
93 
94  void dispRangeChgd(CallBacker*);
95  void exportCB(CallBacker*);
96  void ceptrumCB(CallBacker*);
97 };
98 
99 #endif
Array1D ( Subclass of ArrayND ) is a one dimensional array.
Definition: arraynd.h:101
Definition: uigroup.h:54
#define mExpClass(module)
Definition: commondefs.h:160
Does Fourier Transforms of any size.
Definition: fourier.h:30
User interface main window.
Definition: uimainwin.h:36
To be able to send and/or receive CallBacks, inherit from this class.
Definition: callback.h:272
is the base class for all buttons.
Definition: uibutton.h:83
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
uiGenInput * rangefld_
Definition: uiamplspectrum.h:67
uiAmplSpectrum::Setup setup_
Definition: uiamplspectrum.h:80
int ID
Each Mgr has its own ID.
Definition: datapack.h:147
Interval< float > getPosRange() const
Definition: uiamplspectrum.h:62
uiFunctionDisplay * disp_
Definition: uiamplspectrum.h:66
static const uiString & emptyString()
Definition: uistring.h:109
Definition: uistring.h:89
Definition: uiparent.h:26
int ID
Definition: datapack.h:38
Array1DImpl< float_complex > * timedomain_
Definition: uiamplspectrum.h:83
uiGenInput * valfld_
Definition: uiamplspectrum.h:69
uiLabeledSpinBox * stepfld_
Definition: uiamplspectrum.h:68
Array1DImpl< float > * freqdomainsum_
Definition: uiamplspectrum.h:85
float maxspecval_
Definition: uiamplspectrum.h:87
Interval< float > posrange_
Definition: uiamplspectrum.h:89
Fourier::CC * fft_
Definition: uiamplspectrum.h:91
uiPushButton * exportfld_
Definition: uiamplspectrum.h:71
Array2D ( Subclass of ArrayND ) is a two dimensional array.
Definition: arraynd.h:131
Definition: uispinbox.h:128
General Input Element.
Definition: uigeninput.h:58
displays a function of (X,Y) pairs on a canvas - optionally a Y2.
Definition: uifunctiondisplay.h:38
uiCheckBox * powerdbfld_
Definition: uiamplspectrum.h:73
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:137
Array3D< float > * data_
Definition: uiamplspectrum.h:82
int nrtrcs_
Definition: uiamplspectrum.h:92
Definition: convolve2d.h:27
const SurveyInfo & SI()
Definition: uiamplspectrum.h:33
uiCheckBox * normfld_
Definition: uiamplspectrum.h:72
Definition: uiamplspectrum.h:36
uiGroup * dispparamgrp_
Definition: uiamplspectrum.h:70
Array1DImpl< float_complex > * freqdomain_
Definition: uiamplspectrum.h:84
Implementation of Array1D.
Definition: arrayndimpl.h:52
Definition: uibutton.h:134
Array3D ( Subclass of ArrayND ) is a three dimensional array.
Definition: arraynd.h:153
Setup(const uiString &t=uiString::emptyString(), bool iscep=false, float nyqst=SI().zStep())
Definition: uiamplspectrum.h:38
Array1DImpl< float > * specvals_
Definition: uiamplspectrum.h:86

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2019