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

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