コード例 #1
0
ファイル: WaveletForm.cs プロジェクト: smokingpc/NWaves
        private void buttonCompute_Click(object sender, EventArgs e)
        {
            var size   = int.Parse(textBoxSize.Text);
            var family = (WaveletFamily)comboBoxFamily.SelectedIndex;
            var taps   = comboBoxTaps.SelectedIndex + 1;

            var wavelet = new Wavelet(family, taps);

            var fwt = new Fwt(size, wavelet);

            var output        = new float[size];
            var reconstructed = new float[size];

            fwt.Direct(Enumerable.Range(0, size).Select(x => (float)x).ToArray(), output);
            fwt.Inverse(output, reconstructed);

            var res = string.Join("\r\n", output.Select(o => o.ToString()));

            textBoxResult.Text = res;

            var inv = string.Join("\r\n", reconstructed.Select(o => o.ToString()));

            textBoxResultInv.Text = inv;

            labelWaveletName.Text = wavelet.Name;

            linePlotWavelet.Thickness = 2;
            linePlotWavelet.Stride    = 8;
            linePlotWavelet.Line      = wavelet.LoD;
            linePlotWavelet.Markline  = wavelet.HiD;

            var coeffs = string.Join("\r\n", wavelet.LoD.Select(o => o.ToString()));

            textBoxCoeffs.Text = coeffs;
        }
コード例 #2
0
        /// <summary>
        /// Constructs extractor from configuration <paramref name="options"/>.
        /// </summary>
        public WaveletExtractor(WaveletOptions options) : base(options)
        {
            _blockSize = options.FwtSize > FrameSize ? options.FwtSize : MathUtils.NextPowerOfTwo(FrameSize);

            FeatureCount = options.FeatureCount > 0 ? options.FeatureCount : _blockSize;

            _waveletName = options.WaveletName;
            _level       = options.FwtLevel;
            _fwt         = new Fwt(_blockSize, new Wavelet(_waveletName));

            _coeffs = new float[_blockSize];
        }