示例#1
0
        private void xToolStripMenuItem2_Click(object sender, EventArgs e)
        {
            string input;

            input = Interaction.InputBox("Введите номер столбца", "", "");
            int col;

            if (!Int32.TryParse(input, out col))
            {
                col = -1;
            }
            if (col >= 0 && Data.width > col)
            {
                var func = new float[data.GetLength(1)];
                for (int j = 0; j < func.Length; j++)
                {
                    func[j] = curImg.GetValue(new Tuple <int, int>(col, j));
                }

                var funcs  = new Dictionary <string, float[]>();
                var spectr = FuncProc.GetDiscreteSpectre(func);
                funcs.Add("Спектр", spectr);

                var modalFuncs = new TrendModal(funcs);
                modalFuncs.Show();
            }
        }
示例#2
0
        private void timeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string input;

            input = Interaction.InputBox("Введите номер строки", "", "");
            int row;

            if (!Int32.TryParse(input, out row))
            {
                row = -1;
            }
            if (row >= 0 && Data.maxtime > row)
            {
                var func = new float[data.GetLength(0)];
                for (int i = 0; i < func.Length; i++)
                {
                    func[i] = curImg.GetValue(new Tuple <int, int>(i, row));
                }

                var funcs  = new Dictionary <string, float[]>();
                var spectr = FuncProc.GetDiscreteSpectre(func);
                funcs.Add("Спектр", spectr);

                var modalFuncs = new TrendModal(funcs);
                modalFuncs.Show();
            }
        }
示例#3
0
 public static void AddNoise(double f = 0.1, int rndSize = 10)
 {
     Parallel.For(0, numberOfSonograms, k =>
     {
         slices[k] = FuncProc.AddNoise(slices[k], curNoiseType, f, rndSize);
     });
 }
示例#4
0
 public static void WholeApplyFilter(float[] filter)
 {
     Parallel.For(0, numberOfSonograms, k =>
     {
         for (int i = 0; i < numberOfTraces; i++)
         {
             tracesData[k * numberOfTraces + i].data = FuncProc.ApplyFilter(tracesData[k * numberOfTraces + i].data, filter);
         }
     });
     DeconvolveAllTraces();
     RefreshSlicesData();
 }
示例#5
0
        private void фВЧToolStripMenuItem_Click_1(object sender, EventArgs e)
        {
            string input;

            input = Interaction.InputBox("Введите частоту среза", "ФВЧ построчно", "");
            double fcut;

            if (!Double.TryParse(input, out fcut))
            {
                fcut = 0;
            }
            if (fcut > 0)
            {
                input = Interaction.InputBox("Введите m", "ФВЧ построчно", "");
                int m;
                if (!Int32.TryParse(input, out m))
                {
                    m = 32;
                }

                var filter = FuncProc.Hpf((float)fcut, m);

                var modalFuncs1 = new TrendModal(FuncProc.GetDiscreteSpectre(filter));
                modalFuncs1.Show();


                var msgBoxResult = Interaction.MsgBox("На все данные?", MsgBoxStyle.YesNo);
                switch (msgBoxResult)
                {
                case MsgBoxResult.Yes:
                    Data.WholeApplyFilter(filter);
                    LoadNewSlice();
                    break;

                case MsgBoxResult.No:
                    data = FuncProc.ApplyFilter(data, filter);
                    break;
                }
                DrawImage();
            }
        }
示例#6
0
 private void всеИзображениеToolStripMenuItem_Click(object sender, EventArgs e)
 {
     data = FuncProc.GetDiscreteSpectre(data);
     DrawImage();
 }
示例#7
0
 private void слойToolStripMenuItem2_Click(object sender, EventArgs e)
 {
     Data.curNoiseType = FuncProc.NoiseType.sp;
     data = FuncProc.AddNoise(data, Data.curNoiseType);
     DrawImage();
 }