亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ecgapplet.java

?? egc 信號提取applet程序源代碼
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
/************************************************************************/
/*                                                                      */
/* ecgApplet.java                                                       */
/*                                                                      */
/* Copyright (C) 2003 Mauricio Villarroel                               */
/*  (mauricio.vllarroel@estudiantes.ucb.edu.bo)                         */
/*                                                                      */
/* ecgApplet.java and all its components are free software; you can     */
/* redistribute them and/or modify it under the terms of the            */
/* GNU General Public License as published by the Free Software         */
/* Foundation; either version 2 of the License, or (at your option)     */
/* any later version.                                                   */
/*                                                                      */
/* This file is distributed in the hope that it will be useful, but     */
/* WITHOUT ANY WARRANTY; without even the implied warranty of           */
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                 */
/* See the GNU General Public License for more details.                 */
/*                                                                      */
/************************************************************************/
/*                                                                      */
/* This file was created for the ECGSYN Application.                    */
/*                                                                      */
/* ECGSYN: A program for generating a realistic synthetic               */
/* Electrocardiogram Signals.                                           */
/* Copyright (c) 2003 by Patrick McSharry & Gari Clifford.              */
/* All rights reserved.                                                 */
/*                                                                      */
/* See IEEE Transactions On Biomedical Engineering,                     */
/* 50(3), 289-294, March 2003.                                          */
/* Contact:                                                             */
/* P. McSharry (patrick@mcsharry.net)                                   */
/* G. Clifford (gari@mit.edu)                                           */
/*                                                                      */
/************************************************************************/
/*                                                                      */
/* Further updates to this software will be published on:               */
/* http://www.physionet.org/                             */
/*                                                                      */
/************************************************************************/

import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
import java.text.*;
import java.util.Vector;
import java.io.File;
import java.io.IOException;
import java.awt.event.*;
import java.lang.Math.*;
import java.util.Timer;
import java.util.TimerTask;

/*
 * This class formats a number in decimal notation or in 
 * scientific notation.
 */
class FormatNumber{
    final static DecimalFormat dec1 = new DecimalFormat("0.0");
    final static DecimalFormat dec2 = new DecimalFormat("0.00");

    final static DecimalFormat sci1 = new DecimalFormat("0.0E0");
    final static DecimalFormat sci2 = new DecimalFormat("0.00E0");

    /*
     * Formats the 'number' parameter and returns it as a String.
     * precision = number of decimal places in the output.
     */
    public static String toString( double number,
                                   double upLimit,
                                   double loLimit,
                                   int precision)
    {
        // If number less than decimalLimit, or equal to zero, use decimal style
        if( number == 0.0 ||
            (Math.abs(number) <= upLimit && Math.abs(number) > loLimit) )
        {
            switch (precision){
                case 1 : return dec1.format(number);
                case 2 : return dec2.format(number);
                default: return dec1.format(number);
            }

        } else{
            // Create the format for Scientific Notation with E
            switch (precision){
                case 1 : return sci1.format(number);
                case 2 : return sci2.format(number);
                default: return sci1.format(number);
            }
        }
    }
}

/*
 *
 * Public main class
 */
public class ecgApplet extends javax.swing.JApplet implements AdjustmentListener{

    /**************************************
     * Colors for the Plotting Components *
     **************************************/
    protected Color ecgPlotColor            = Color.BLUE;
    protected Color frameLineColor          = Color.BLACK;
    protected Color frameInsideLineColor    = Color.LIGHT_GRAY;
    protected Color frameFillColor          = Color.WHITE;
    protected Color axesNumColor            = Color.GRAY;
    protected Color titleColor              = Color.BLACK;
    protected Color bgColor                 = Color.WHITE;

    /*********************************************
     * These constants used in drawText() method
     * for placement of the text within a given
     * rectangular area.
     *********************************************/ 
    final int CENTER = 0;
    final int LEFT   = 1;
    final int RIGHT  = 2;

    /*******************
     * Frame Dimensions.
     *******************/
    final int posFrameX =0;
    final int posFrameY =1;
    final int frameHeight =290;
    final int frameAmplitude = frameHeight/2;
    //Coordinates Origin
    final int posOriginY = posFrameY + (frameHeight/2);
    //X coordinates
    final int horzScaleY = posFrameY + frameHeight;
    final int horzScaleWidth = 100;
    final int horzScaleHeight = 20;
    final int fScaleNumSize = 9;
    
    /****************************************************
     * Limit below which scale values use decimal format,
     * above which they use scientific format.
     ****************************************************/
    double upLimit = 100.0;
    double loLimit = 0.01;
    
    /******************************
     * Ploting variables
     ******************************/
    boolean readyToPlot;
    int     plotScrollBarValue;
    double  plotZoom = 0.008;
    double  plotZoomInc = 2;
    /* Flag Variable, show if data has been generated. */
    private boolean ecgGenerated = false;    

    /****************************************************************
     *  GLOBAL ECG PARAMETERS:                                                  
     ****************************************************************/
    private int    N;               /*  Number of heart beats              */
    private double hrstd;           /*  Heart rate std                     */
    private double hrmean;          /*  Heart rate mean                    */
    private double lfhfratio;       /*  LF/HF ratio                        */
    private int    sfecg;           /*  ECG sampling frequency             */        
    private int    sf;              /*  Internal sampling frequency        */
    private double amplitude;       /*  Amplitude for the plot area        */
    private int seed;               /*  Seed                               */    
    private double Anoise;          /*  Amplitude of additive uniform noise*/
    private int    period;
    /* Define frequency parameters for rr process 
     * flo and fhi correspond to the Mayer waves and respiratory rate respectively
     */
    private double flo;             /*  Low frequency                      */
    private double fhi;             /*  High frequency                     */
    private double flostd;          /*  Low frequency std                  */
    private double fhistd;          /*  High frequency std                 */
    /* Order of extrema: [P Q R S T]  */
    private double[] theta = new double[6]; /* ti not in radians*/
    private double[] a = new double[6];
    private double[] b = new double[6];
    
    /*******************************
     * Variable for the Data table
     *******************************/
    private String[] peakStr = {"", "P", "Q", "R", "S", "T"};    

    /******************************************
     * Variables to Animate ECG
     ******************************************/
    //Animating in process?
    private boolean ecgAnimateFlg =false;
    Timer ecgAnimateTimer;
    private long ecgAnimateInterval;
    /* Total plotting Data Table Row */
    private int ecgAnimateNumRows;
    /* Current plotting Data Table Row */
    private int ecgAnimateCurRow;
    /* Plot Area Panel width */
    private int ecgAnimatePanelWidth;
    /* Starting X axis value to plot*/
    private int ecgAnimateInitialZero;
    /* For plotting */
    Point ecgAnimateLastPoint = new java.awt.Point(0, 0);

    /** Initializes the applet ecgApplet */
    public void init() {
        initComponents();
        initWindow();
    }

    private void initWindow(){
        /*********************
        *Init the main Window
        *Set maximize
        *********************/
        try{
            ecgWindow.setMaximum(true);        
        } catch(java.beans.PropertyVetoException e){
            txtStatus.append("Exception Error : " + e + "\n");
        }        

        /*********************
        *Init the data Table
        *********************/
        tableValuesModel = new DefaultTableModel(   new Object [][] {},
                                                    new String [] {"Time", "Voltage", "Peak"}){
                                                        Class[] types = new Class [] {
                                                        java.lang.String.class, java.lang.String.class, java.lang.String.class
                                                    };
                                                    public Class getColumnClass(int columnIndex) {
                                                        return types [columnIndex];
                                                    }
                                                };
        tableValues.setModel(tableValuesModel);

        /* Init the ecgFrame */
        ecgFrame = new ecgPanel();
        ecgFrame.setBackground(new java.awt.Color(255, 255, 255));
        ecgPlotArea.setViewportView(ecgFrame);

        /* Set the ScrollBar */
        plotScrollBar.addAdjustmentListener(this);

        /* Set the size of the Dialogs */
        paramDialog.setBounds(80, 80, 570,500);
        alert.setBounds(80, 80, 540,200);
        helpDialog.setBounds(80, 80, 600,500);

        /*************************
         * Reset all Application 
         * to a init state.
         *************************/        
        resetECG();
    }
    
    private void initComponents() {//GEN-BEGIN:initComponents
        paramDialog = new javax.swing.JDialog();
        paramDesktopPane = new javax.swing.JDesktopPane();
        closeParamDialogButton = new javax.swing.JButton();
        resetParamDialogButton = new javax.swing.JButton();
        saveParamDialogButton = new javax.swing.JButton();
        paramTabbedPane = new javax.swing.JTabbedPane();
        generalInterfacePanel = new javax.swing.JPanel();
        txtSf = new javax.swing.JTextField();
        lblSf = new javax.swing.JLabel();
        lblN = new javax.swing.JLabel();
        txtN = new javax.swing.JTextField();
        lblHrmean = new javax.swing.JLabel();
        txtHrmean = new javax.swing.JTextField();
        lblHrstd = new javax.swing.JLabel();
        txtHrstd = new javax.swing.JTextField();
        lblAmplitude = new javax.swing.JLabel();
        txtAmplitude = new javax.swing.JTextField();
        lblGeneralTitle = new javax.swing.JLabel();
        lblAnoise = new javax.swing.JLabel();
        txtAnoise = new javax.swing.JTextField();
        lblSfecg = new javax.swing.JLabel();
        txtSfecg = new javax.swing.JTextField();
        lblSeed = new javax.swing.JLabel();
        txtSeed = new javax.swing.JTextField();
        spectralCharacteristicsPanel = new javax.swing.JPanel();
        lblSpectralTitle = new javax.swing.JLabel();
        lblLfhfratio = new javax.swing.JLabel();
        txtLfhfratio = new javax.swing.JTextField();
        lblFlo = new javax.swing.JLabel();
        txtFlo = new javax.swing.JTextField();
        lblFhi = new javax.swing.JLabel();
        txtFhi = new javax.swing.JTextField();
        lblFlostd = new javax.swing.JLabel();
        lblFhistd = new javax.swing.JLabel();
        txtFhistd = new javax.swing.JTextField();
        txtFlostd = new javax.swing.JTextField();
        extremaPanel = new javax.swing.JPanel();
        lblMorphologyTitle = new javax.swing.JLabel();
        tiScrollPane = new javax.swing.JScrollPane();
        tiTable = new javax.swing.JTable();
        aiScrollPane = new javax.swing.JScrollPane();
        aiTable = new javax.swing.JTable();
        biScrollPane = new javax.swing.JScrollPane();
        biTable = new javax.swing.JTable();
        ExtremaLabelScrollPane = new javax.swing.JScrollPane();
        ExtremaLabelTable = new javax.swing.JTable();
        paramHelpButton = new javax.swing.JButton();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美大白屁股肥臀xxxxxx| 国产一区二区按摩在线观看| 91亚洲国产成人精品一区二区三 | 亚洲国产乱码最新视频| 91视频91自| 午夜一区二区三区视频| 日韩一区二区三区精品视频| 麻豆中文一区二区| 欧美国产欧美综合| 91女人视频在线观看| 一区二区三区四区乱视频| 欧美疯狂性受xxxxx喷水图片| 日本不卡中文字幕| 国产日产欧美一区| 欧美性三三影院| 韩日精品视频一区| 中文字幕制服丝袜成人av| 欧美色网站导航| 精品一区二区三区久久久| 国产精品麻豆99久久久久久| 欧美视频中文一区二区三区在线观看| 午夜精品久久久久久久久 | 精品国产成人系列| 懂色中文一区二区在线播放| 亚洲午夜羞羞片| 久久久99免费| 欧美理论片在线| 国产盗摄一区二区三区| 亚洲成人在线观看视频| 国产日韩v精品一区二区| 欧美日韩免费观看一区三区| 国产精品一品视频| 亚洲综合色网站| 国产日韩精品视频一区| 3d成人h动漫网站入口| voyeur盗摄精品| 美腿丝袜亚洲一区| 又紧又大又爽精品一区二区| 久久青草国产手机看片福利盒子| 欧洲国内综合视频| www.av亚洲| 国产精品996| 美女精品自拍一二三四| 一二三四区精品视频| 久久蜜桃一区二区| 日韩视频在线一区二区| 91国产福利在线| 97精品国产97久久久久久久久久久久| 美腿丝袜亚洲一区| 婷婷成人激情在线网| 亚洲最大成人综合| 国产精品久久久久久久久动漫| 精品国产免费久久| 日韩一级视频免费观看在线| 91国在线观看| 91麻豆视频网站| 成人一二三区视频| 国内一区二区在线| 老汉av免费一区二区三区| 亚洲午夜精品网| 亚洲综合免费观看高清在线观看| 中文字幕第一区综合| 国产日韩欧美亚洲| 久久久久高清精品| 久久精品亚洲国产奇米99| 精品少妇一区二区| 日韩你懂的电影在线观看| 91精品国产综合久久久久久久 | 色欧美88888久久久久久影院| 国产成人午夜99999| 久久福利视频一区二区| 蜜臀精品一区二区三区在线观看| 日韩精品成人一区二区在线| 亚洲成人高清在线| 青青草视频一区| 美女任你摸久久| 国产综合久久久久久久久久久久| 美女性感视频久久| 久88久久88久久久| 国产乱码精品1区2区3区| 国产麻豆成人精品| 国产成人日日夜夜| 99久久久久久| 欧美三片在线视频观看| 欧美欧美欧美欧美| 日韩一区二区三区视频在线| 日韩视频一区二区| 久久婷婷成人综合色| 日本一区二区三区高清不卡 | 亚洲精品免费在线观看| 伊人婷婷欧美激情| 天天操天天干天天综合网| 日韩av网站在线观看| 国产在线精品一区二区不卡了 | 亚洲精品欧美在线| 三级一区在线视频先锋| 麻豆免费看一区二区三区| 高清成人免费视频| 色诱亚洲精品久久久久久| 91精品国产91久久久久久一区二区 | 一区二区国产盗摄色噜噜| 视频在线在亚洲| 激情亚洲综合在线| 高清不卡一区二区| 91香蕉视频在线| 欧美日本韩国一区二区三区视频| 欧美日韩五月天| 777亚洲妇女| 国产精品三级av| 天天综合网 天天综合色| 国产成人免费在线观看不卡| 91麻豆高清视频| 欧美成人女星排行榜| 国产精品传媒在线| 丝瓜av网站精品一区二区| 国产福利精品导航| 欧美日韩专区在线| 国产亚洲精品超碰| 丝袜亚洲另类欧美| 97久久超碰精品国产| 欧美电视剧在线看免费| 亚洲天堂久久久久久久| 蜜臀91精品一区二区三区| 91看片淫黄大片一级在线观看| 欧美精品日日鲁夜夜添| 国产精品午夜在线观看| 日韩精品亚洲专区| 91小视频免费观看| 欧美精品一区二区三区在线| 亚洲自拍欧美精品| 成人少妇影院yyyy| 欧美日韩精品电影| 国产精品久久久久影视| 久久99国产乱子伦精品免费| 欧美伊人久久大香线蕉综合69| 久久精品夜夜夜夜久久| 六月婷婷色综合| 欧美精品成人一区二区三区四区| 中文字幕精品三区| 国产乱码精品一品二品| 日韩三级视频在线观看| 亚洲国产精品欧美一二99| 成人av网站在线观看| 久久久久久久久久美女| 久久激情综合网| 欧美精品久久一区二区三区| 亚洲欧洲中文日韩久久av乱码| 国产福利一区二区三区在线视频| 制服丝袜亚洲播放| 一区二区三区成人在线视频| 高清不卡一二三区| 国产丝袜在线精品| 国产综合色产在线精品| 精品欧美乱码久久久久久1区2区| 亚洲成人三级小说| 欧美日韩激情一区| 亚洲国产精品尤物yw在线观看| 99国产精品99久久久久久| 中文字幕av一区二区三区高| 国产丶欧美丶日本不卡视频| 久久综合精品国产一区二区三区| 免费高清不卡av| 日韩一卡二卡三卡国产欧美| 免费成人小视频| 日韩免费在线观看| 国产在线不卡一区| 久久先锋影音av鲁色资源网| 国内成+人亚洲+欧美+综合在线| 精品国产乱码久久久久久图片| 国产主播一区二区| 国产亚洲一区二区三区| 福利电影一区二区| 亚洲三级电影网站| 欧美色综合天天久久综合精品| 午夜国产精品影院在线观看| 欧美一级二级在线观看| 久久成人18免费观看| 国产丝袜美腿一区二区三区| 成人免费看视频| 亚洲品质自拍视频| 欧美理论片在线| 国产一区二区三区电影在线观看| 久久久久国产精品麻豆ai换脸 | 国产香蕉久久精品综合网| 高清不卡一二三区| 一区二区三区中文字幕电影 | 色综合久久天天| 视频一区国产视频| 精品国产免费人成在线观看| 成人午夜伦理影院| 一区二区不卡在线播放| 91精品国模一区二区三区| 国产成人亚洲综合a∨婷婷图片 | 国产精品麻豆欧美日韩ww| 在线观看视频一区| 热久久免费视频| 国产精品欧美久久久久无广告| 欧洲亚洲国产日韩| 国产一区三区三区| 亚洲精品国产一区二区精华液 |