亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于JavaScript的葉綠素?zé)晒庑盘柼卣鼽c(diǎn)自動(dòng)定位軟件設(shè)計(jì)

        2019-05-29 11:18:10程盛陽郭亞夏倩
        軟件工程 2019年3期

        程盛陽 郭亞 夏倩

        摘? 要:幾乎所有光合作用過程都可通過葉綠素?zé)晒夥从吵鰜?,葉綠素?zé)晒鈩?dòng)力學(xué)技術(shù)已經(jīng)成為研究植物生理最廣泛的技術(shù)之一,本軟件分析葉綠素?zé)晒鈪?shù),輔助研究光合作用過程中光系統(tǒng)II對光能的吸收、傳遞、耗散、分配等過程。程序從excel表中批量讀取葉綠素?zé)晒鈨x測量得到的數(shù)據(jù),在網(wǎng)頁中運(yùn)用JavaScript語言編程,自動(dòng)繪制OJIP曲線,以及相應(yīng)的OJIP曲率曲線、一階導(dǎo)數(shù)曲線、二階導(dǎo)數(shù)曲線。用戶能在交互式OJIP曲線上設(shè)定區(qū)間,根據(jù)設(shè)定算法,自動(dòng)定位符合條件的I點(diǎn)與J點(diǎn),手工調(diào)整與優(yōu)化特征點(diǎn)位置,將定位的特征點(diǎn)結(jié)果作為文件導(dǎo)出并保存,使葉綠素?zé)晒庑盘栄芯扛臃奖憧旖荨?/p>

        關(guān)鍵詞:JavaScript;葉綠素?zé)晒庑盘?OJIP曲線

        中圖分類號:TP391.7? ? ?文獻(xiàn)標(biāo)識碼:A

        Abstract:Almost all changes in photosynthetic processes can be reflected by chlorophyll fluorescence.Chlorophyll fluorescence kinetics technology has become one of the most widely used techniques for studying the physiological ecology of plants.This paper presents a set of software that analyzes chlorophyll fluorescence parameters and helps the study of photosynthesis in the process of light energy absorption,transmission,dissipation,distribution and etc.The software is programmed in JavaScript,which reads the measured data from excel tables and automatically draws OJIP curves,as well as the corresponding OJIP curvature,first derivative curve and second derivative curve.Users can use the interactive interface to set an interval,and the software will automatically locate I and J points according to the set algorithm.It supports manual adjustment and optimization of the position of the feature points.The results of the localized feature points are exported and stored as files,making it easier and faster to study chlorophyll fluorescence signals.

        Keywords:JavaScript;chlorophyll fluorescence signal;OJIP curve

        1? ?引言(Introduction)

        植物光合作用為地球上的生命活動(dòng)提供物質(zhì)及能量基礎(chǔ),提高光合作用效率具有重要的意義,為了量化衡量植物葉片的光合作用,早在1931年Kautsky和Hirsh就認(rèn)識到光合原初反應(yīng)和葉綠素?zé)晒庵g有著密切的關(guān)系,此關(guān)系被稱為Kautsky效應(yīng)[1]。經(jīng)過暗適應(yīng)的光合材料經(jīng)過照光后,葉綠素?zé)晒庀妊杆偕仙揭粋€(gè)最大值,然后逐漸下降,最后達(dá)到一個(gè)穩(wěn)定值。此后,隨著研究的深入,人們逐步認(rèn)識到熒光誘導(dǎo)動(dòng)力學(xué)曲線中蘊(yùn)藏著豐富的信息。葉綠素?zé)晒鈩?dòng)力學(xué)曲線如圖1所示。

        葉綠素?zé)晒鈩?dòng)力學(xué)曲線包含了十分豐富的光合作用過程變化的信息,其分析技術(shù)是近年來在光合作用機(jī)理研究中發(fā)展起來的一種新型、快速、簡便、精確且整體無損傷檢測植物光合作用生理狀況的新技術(shù),被視為植物光合作用與環(huán)境關(guān)系的內(nèi)在探針,得到廣泛應(yīng)用[2]。目前,測量葉綠素?zé)晒獾乃沧儸F(xiàn)象均是通過熒光儀來測量[3],得到的葉綠素?zé)晒鉁y量結(jié)果就是典型快速葉綠素?zé)晒庹T導(dǎo)動(dòng)力學(xué)曲線(OJIP曲線),該曲線上存在O、J、I、P等特征點(diǎn),其中J點(diǎn)與I點(diǎn)一般定義為葉綠素?zé)晒庹T導(dǎo)曲線的第一、第二個(gè)峰值點(diǎn)。目前定位J點(diǎn)與I點(diǎn)的方法時(shí)均是使用預(yù)設(shè)的固定時(shí)間點(diǎn),存在定位過程不透明、定位結(jié)果不準(zhǔn)確、不能調(diào)整與優(yōu)化I點(diǎn)與J點(diǎn)的位置等問題[4,5]。

        本文中運(yùn)用一種基于對象的網(wǎng)頁腳本語言JavaScript,編寫嵌套在網(wǎng)頁中的程序,繪制葉綠素?zé)晒庹T導(dǎo)動(dòng)力學(xué)曲線及其導(dǎo)數(shù)、曲率曲線。通過可交互式圖表,實(shí)現(xiàn)對特征點(diǎn)的可視化定位,且支持對定位結(jié)果的手動(dòng)調(diào)整,解決了現(xiàn)在傳統(tǒng)儀器存在的問題,可支持多數(shù)據(jù)調(diào)整,及調(diào)整后下載的功能。

        2? ?系統(tǒng)設(shè)計(jì)(System design)

        2.1? ?軟件系統(tǒng)結(jié)構(gòu)與處理流程

        程序從測量數(shù)據(jù)文件讀取OJIP曲線的坐標(biāo)值,根據(jù)用戶的選擇,執(zhí)行相應(yīng)的處理,包括擬合曲線、一階與二階導(dǎo)數(shù)、曲率等計(jì)算,繪制相應(yīng)的圖形曲線,供用戶進(jìn)行交互式的分析。

        程序流程包括數(shù)據(jù)導(dǎo)入、數(shù)據(jù)處理、OJIP曲線可視化,目標(biāo)曲線繪制輸出等,如圖2所示。

        2.2? ?導(dǎo)入數(shù)據(jù)與格式轉(zhuǎn)換

        OJIP曲線的坐標(biāo)值以二進(jìn)制數(shù)據(jù)格式,存放在Execl文件中,JavaScript提供了File API用于讀取文件,其中FileReader對象的readAsBinaryString()方法允許瀏覽器直接將所讀取的坐標(biāo)原始值,作為二進(jìn)制字符串存儲(chǔ)到其result屬性中,直接供后續(xù)程序解析。

        由于FileReader.readAsBinaryString()是W3C組織在HTML5中新提出的文件API,一些瀏覽器,例如Internet Explorer無法兼容此方法。這時(shí),先對瀏覽器是否支持此方法進(jìn)行測試,如果不支持,就使用FileReader.readAsArrayBuffer()方法進(jìn)行替代。將原始的二進(jìn)制數(shù)據(jù)Blob[6]讀取為字節(jié)數(shù)組ArrayBuffer,再處理轉(zhuǎn)換為以Base64格式編碼的字符串。

        讀入二進(jìn)制字符串或Base64字符串后,調(diào)用js-xlsx庫,可以解析數(shù)據(jù)為CSV、html、json等格式,本文使用CSV格式,生成一行字符串。excel表中每行單元格數(shù)據(jù)從左到右順序保存,以逗號分隔,從上到下不同數(shù)據(jù)行以\n符合連接。

        再通過字符串處理,將CSV字符串轉(zhuǎn)存為二維數(shù)組,數(shù)組內(nèi)每個(gè)元素的內(nèi)容均與原工作簿中對應(yīng)位置的數(shù)據(jù)相同[7]。

        2.3? ?數(shù)據(jù)處理與曲線擬合

        2.3.1? ?曲線擬合

        程序每讀取一個(gè)數(shù)據(jù)文件創(chuàng)建一個(gè)對象,對應(yīng)建立一個(gè)OJIP曲線,原始數(shù)據(jù)與計(jì)算結(jié)果都作為對象屬性存儲(chǔ)。同時(shí),對象定義了擬合、求導(dǎo)、求曲率等方法,可根據(jù)需求進(jìn)行調(diào)用。

        為了得到OJIP曲線,要根據(jù)導(dǎo)入的曲線橫坐標(biāo)離散值,擬合為函數(shù)表達(dá)式的形式,其計(jì)算方法如下:

        2.3.2? ?曲率計(jì)算

        求出OJIP的擬合曲線后,再求出其一階與二階導(dǎo)數(shù)表達(dá)式,將坐標(biāo)點(diǎn)帶入一階與二階的表達(dá)式中,求出該點(diǎn)處的導(dǎo)數(shù)值。曲率計(jì)算公式如下所示,其中與分別表示曲線的一階與二階導(dǎo)數(shù):

        2.4? ?交互定位特征點(diǎn)

        設(shè)計(jì)的軟件應(yīng)用echarts圖表庫插件將離散的坐標(biāo)點(diǎn)繪制為折線圖。echarts是一個(gè)純JavaScript的圖表庫,可以運(yùn)行在PC和移動(dòng)設(shè)備上,兼容當(dāng)前絕大部分瀏覽器,可提供直觀、可交互的數(shù)據(jù)可視化圖表[8]。

        繪制的圖表分兩種:特征點(diǎn)預(yù)選擇圖表、特征點(diǎn)展示與優(yōu)化圖表。特征點(diǎn)預(yù)選擇圖表展示所有輸入的OJIP曲線的曲率圖形,用戶在預(yù)判I點(diǎn)與J點(diǎn)的大致位置后,通過鼠標(biāo)刷選確定特征點(diǎn)的預(yù)選區(qū)間,程序便在該區(qū)間內(nèi)自動(dòng)尋找特征點(diǎn),進(jìn)入特征點(diǎn)展示與優(yōu)化圖表。

        特征點(diǎn)展示圖表中繪制的OJIP曲線,以及其曲率、一階、二階導(dǎo)數(shù)曲線,各曲線上均標(biāo)注出自動(dòng)定位的I點(diǎn)與J點(diǎn),用戶可以在任一圖表上對I點(diǎn)與J點(diǎn)的位置進(jìn)行微調(diào)。通過選擇不同的OJIP曲線,可調(diào)整優(yōu)化輸入的各個(gè)OJIP曲線。

        2.4.1? ?特征點(diǎn)預(yù)選擇圖表

        程序預(yù)定義了一個(gè)chartOptions變量,用于存儲(chǔ)圖表的各項(xiàng)設(shè)置。在計(jì)算得到繪圖所需要的各點(diǎn)坐標(biāo)后,將每個(gè)待繪制的點(diǎn)的坐標(biāo)插入到chartOptions.series屬性中,并定義其類型為line,即折線圖。通過chart.setOption()方法更新圖表,使折線圖顯示在頁面上。

        為了實(shí)現(xiàn)通過鼠標(biāo)刷選指定特征點(diǎn)區(qū)間的功能,需要再次將各個(gè)待繪制的點(diǎn)的坐標(biāo)插入到chartOptions.series屬性中,更改設(shè)定其類型為scatter,即散點(diǎn)圖。這是由于echarts的折線圖不支持brush()方法,無法直接在折線圖上刷選,而使用散點(diǎn)圖則解決了此問題。將散點(diǎn)圖的symbolSize設(shè)置為0,可以使散點(diǎn)不顯示,用戶在操作時(shí)觀察到的效果就和直接在折線圖上刷選相同。

        程序記錄圖表上被選中的數(shù)據(jù)點(diǎn)的序號,存儲(chǔ)在一個(gè)數(shù)組中。由于同一個(gè)區(qū)域中數(shù)據(jù)點(diǎn)的序號是連續(xù)的,可以將序號分離為幾個(gè)數(shù)組,分別對應(yīng)選中的各個(gè)區(qū)域。對于每一條曲線,程序都在選中的區(qū)域內(nèi)尋找極大值點(diǎn)作為特征點(diǎn)。

        2.4.2? ?特征點(diǎn)展示與優(yōu)化圖表

        程序?qū)⒆詣?dòng)找到的I點(diǎn)與J點(diǎn)的坐標(biāo)以markPoint類型插入到chartOptions.series屬性中,同時(shí)也插入到各OJIP曲線對象的屬性中。程序監(jiān)聽markPoint上的點(diǎn)擊事件,當(dāng)用戶需要調(diào)整特征點(diǎn)的位置時(shí),點(diǎn)擊需要移動(dòng)的特征點(diǎn),程序會(huì)記錄被點(diǎn)擊的特征點(diǎn)的序號。之后在用戶點(diǎn)擊移動(dòng)按鈕時(shí),程序更新特征點(diǎn)的位置,并按照新位置重繪圖表。

        2.4.3? ?數(shù)據(jù)導(dǎo)出

        程序?qū)⑿枰獙?dǎo)出的數(shù)據(jù)存貯到一個(gè)以數(shù)組為元素的數(shù)組中(array of arrays),使用XLSX.utils.aoa_to_sheet()方法將它轉(zhuǎn)換為一個(gè)臨時(shí)的sheet對象。其中,外層數(shù)組中的每個(gè)數(shù)組元素會(huì)成為sheet的一行,而內(nèi)層數(shù)組的每個(gè)元素則成為一行中的各個(gè)單元格。將sheet對象添加到一個(gè)workbook對象之后,使用XLSX.write()方法,生成一個(gè)待輸出的二進(jìn)制文件。使用JavaScript提供的saveAs()方法,可以使瀏覽器以下載文件的方式將此文件保存到本地,完成數(shù)據(jù)的導(dǎo)出。

        3? ?結(jié)論(Conclusion)

        本軟件自動(dòng)繪制OJIP曲線,以及相應(yīng)的OJIP曲率曲線、一階導(dǎo)數(shù)曲線、二階導(dǎo)數(shù)曲線。用戶能在交互式OJIP曲線分析葉綠素?zé)晒鈪?shù),輔助研究光合作用過程中光系統(tǒng)II對光能的吸收、傳遞、耗散、分配等過程,使葉綠素?zé)晒庑盘栄芯扛臃奖憧旖荨?/p>

        可進(jìn)一步運(yùn)用物聯(lián)網(wǎng)技術(shù),通過遠(yuǎn)程智能化的葉綠素?zé)晒庑盘杻x,在線實(shí)時(shí)報(bào)送數(shù)據(jù),構(gòu)成采樣數(shù)據(jù)庫,軟件分析系統(tǒng)直接實(shí)時(shí)讀取數(shù)據(jù)庫數(shù)據(jù),實(shí)現(xiàn)遠(yuǎn)程分析與自動(dòng)優(yōu)化。

        參考文獻(xiàn)(References)

        [1] Papagorgiou G.Bioenergetics of Photosynthesis[M].New York:Academic Press,1975:319-337.

        [2] K.Rohá?ek.Chlorophyll Fluorescence Parameters:The Definitions,Photosynthetic Meaning,and Mutual Relationships[J].Photosynthetica,2002,40(1):13-29.

        [3] G H Krause,E Weis.Chlorophyll Fluorescence and Photosynthesis:The Basics[J].Annual Review of Plant Physiology and Plant Molecular Biology,1991,42(1):313-349.

        [4] 王子毅,張春海.基于ECharts的數(shù)據(jù)可視化分析組件設(shè)計(jì)實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2016,35(14):46-48;51.

        [5] 溫國勝,田海濤,張明如,等.葉綠素?zé)晒夥治黾夹g(shù)在林木培育中的應(yīng)用[J]應(yīng)用生態(tài)學(xué)報(bào),2006,17(10):1973-1977.

        [6] 王莉敏,梁正和,段全鋒.基于HTML5大文件斷點(diǎn)續(xù)傳的實(shí)現(xiàn)方案[J].計(jì)算機(jī)與現(xiàn)代化,2016(03):91-95.

        [7] 林立云.推薦一種讀和寫CSV文件的程序設(shè)計(jì)方法[C].Proceedings of 2011 National Teaching Seminar on Cryptography and Information Security(NTS-CIS 2011),2011,1(3):93-95.

        [8] 萬文博,華燈鑫,樂靜,等.基于激光誘導(dǎo)葉綠素?zé)晒鈮勖上窦夹g(shù)的植物熒光特性研究[J].物理學(xué)報(bào),2015(19):68-74.

        作者簡介:

        程盛陽(1996-),男,本科生.研究領(lǐng)域:物聯(lián)網(wǎng)技術(shù).

        郭? ?亞(1977-),男,博士,教授.研究領(lǐng)域:物聯(lián)網(wǎng)技術(shù).

        夏? ?倩(1994-),女,碩士生.研究領(lǐng)域:物聯(lián)網(wǎng)技術(shù).

        人妻 日韩 欧美 综合 制服| 欧美日韩国产综合aⅴ| 精品久久久久一区二区国产| 亚洲精品2区在线观看| 日本一区二区日韩在线| 免费观看a级毛片| 在线观看视频播放| 无码人妻丰满熟妇区毛片| 成人区人妻精品一区二区不卡网站 | 天堂中文а√在线| 亚洲av日韩av天堂一区二区三区 | 最新永久免费AV网站| 求网址日韩精品在线你懂的| 亚洲人不卡另类日韩精品| 成 人免费va视频| 精品少妇大屁股白浆无码| 四虎无码精品a∨在线观看| 永久中文字幕av在线免费 | 免费视频成人片在线观看| 欧美色aⅴ欧美综合色| 人妻少妇精品系列一区二区| 国产二区中文字幕在线观看| 亚洲国产综合久久天堂| 国产精品一区二区在线观看| 国产在线美女| 亚洲妇女av一区二区| 日韩女优视频网站一区二区三区| 久久成人国产精品一区二区| 自愉自愉产区二十四区| 国产鲁鲁视频在线播放| 亚洲精品成人久久av| 曰韩内射六十七十老熟女影视| 国产午夜亚洲精品午夜鲁丝片| 四虎国产精品免费久久麻豆| 成人免费播放视频影院| 蜜臀av午夜一区二区三区| 无码的精品免费不卡在线| 女同同成片av免费观看| 久久影院午夜理论片无码| 女人做爰高潮呻吟17分钟| 精品丝袜一区二区三区性色|