Esempio n. 1
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            // skip if file is not specified
            if (!FileHandler.available())
            {
                return;
            }


            // read sample rate
            sampleRate         = FileHandler.readSampleRate();
            slider1.sampleRate = sampleRate;


            // set default settings
            Settings set = Settings.instance();

            slider1.seek        = set.lastSeek;
            slider1.blocks      = set.lastBlocks;
            slider1.perPage     = set.perPage;
            slider1.page        = (long)(slider1.seek / slider1.perPage);
            slider1.blocksCount = FileHandler.blocksCount();
        }
Esempio n. 2
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            // skip if file not loaded
            if (!FileHandler.available())
            {
                return;
            }


            // read sample rate from file
            sampleRate         = FileHandler.readSampleRate();
            graph1.sampleRate  = sampleRate;
            slider1.sampleRate = sampleRate;

            // read settings
            Settings set = Settings.instance();

            slider1.seek        = set.lastSeek;
            slider1.blocks      = set.lastBlocks;
            slider1.perPage     = set.perPage;
            slider1.page        = (long)(slider1.seek / slider1.perPage);
            slider1.blocksCount = FileHandler.blocksCount();


            // config zoom and start point
            graph1.start = set.lastOffset;
            graph1.zoom  = set.lastZoom;

            graph1.detection = set.detection;
            graph1.detectST  = set.detectST;

            // load filtered samples
            graph1.samples   = FileHandler.load(slider1);
            graph1.ecgid     = FileHandler.id;
            slider1.critical = graph1.ecgid.critical;


            slider1.s2 = graph1.ecgid.starttimeSec;
            graph1.s2  = slider1.seek * 56.0f / slider1.sampleRate;

            slider1.Refresh();
            graph1.Refresh();



            // on scroll changes
            graph1.onChange = () =>
            {
                if (!FileHandler.available())
                {
                    return;
                }
                set            = Settings.instance();
                set.lastOffset = graph1.start;
                set.lastZoom   = graph1.zoom;
                set.commit();
            };
            // on slider position changes
            slider1.onChange = () =>
            {
                if (!FileHandler.available())
                {
                    return;
                }
                set            = Settings.instance();
                set.lastSeek   = slider1.seek;
                set.lastBlocks = slider1.blocks;
                set.perPage    = slider1.perPage;


                graph1.samples = FileHandler.load(slider1);

                slider1.critical = FileHandler.id.critical;


                graph1.zoom = slider1.blocks * 56.0f / slider1.sampleRate;
                graph1.s2   = slider1.seek * 56.0f / slider1.sampleRate;

                if (slider1.seek < 0)
                {
                    graph1.start = slider1.seek * 56.0f / slider1.sampleRate;
                }
                else
                {
                    graph1.start = 0;
                }


                graph1.detection = set.detection;
                graph1.detectST  = set.detectST;


                set.commit();



                if (graph1.samples.Count < graph1.zoom * sampleRate)
                {
                    graph1.zoom = (float)graph1.samples.Count / (float)sampleRate;
                }

                graph1.Refresh();
            };
        }
        void run()
        {
            progressBar1.Minimum = 0;
            progressBar1.Maximum = 100;

            if (!FileHandler.available())
            {
                return;
            }

            EcgStatistic set = FileHandler.id;


            if (set.critical == null)
            {
                set.critical = new List <long>();
            }


            long len = FileHandler.blocksCount();

            long i0 = 0;

            if (set.critical.Count > 2)
            {
                i0 = set.critical[set.critical.Count - 1] + 1;
            }


            for (long i = i0; i < len; i++)
            {
                FileHandler.setPosition(i);

                if (FileHandler.remainingBlocks() < 2)
                {
                    break;
                }

                int sdm = FileHandler.io.ReadByte();
                if (sdm == 170)
                {
                    set.critical.Add(i);
                }

                progressBar1.Value = (int)((float)i / (float)len * 100.0f);
                progressBar1.Refresh();
            }
            XmlClass <EcgStatistic> .Save(set, FileHandler.p + ".xml", SerializedFormat.Document);

            listBox1.Items.Clear();
            if (set.critical != null)
            {
                foreach (var l in set.critical)
                {
                    time t = new time();
                    t.block      = l;
                    t.sampleRate = main.graph1.sampleRate;
                    t.s2         = FileHandler.id.starttimeSec;
                    listBox1.Items.Add(t);
                }
            }

            progressBar1.Value = 0;
            progressBar1.Refresh();

            MessageBox.Show("finish!");
        }