999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于JavaScript的葉綠素?zé)晒庑盘?hào)特征點(diǎn)自動(dòng)定位軟件設(shè)計(jì)

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

程盛陽(yáng) 郭亞 夏倩

摘? 要:幾乎所有光合作用過(guò)程都可通過(guò)葉綠素?zé)晒夥从吵鰜?lái),葉綠素?zé)晒鈩?dòng)力學(xué)技術(shù)已經(jīng)成為研究植物生理最廣泛的技術(shù)之一,本軟件分析葉綠素?zé)晒鈪?shù),輔助研究光合作用過(guò)程中光系統(tǒng)II對(duì)光能的吸收、傳遞、耗散、分配等過(guò)程。程序從excel表中批量讀取葉綠素?zé)晒鈨x測(cè)量得到的數(shù)據(jù),在網(wǎng)頁(yè)中運(yùn)用JavaScript語(yǔ)言編程,自動(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é)晒庑盘?hào)研究更加方便快捷。

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

中圖分類號(hào):TP391.7? ? ?文獻(xiàn)標(biāo)識(shí)碼: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)識(shí)到光合原初反應(yīng)和葉綠素?zé)晒庵g有著密切的關(guān)系,此關(guān)系被稱為Kautsky效應(yīng)[1]。經(jīng)過(guò)暗適應(yīng)的光合材料經(jīng)過(guò)照光后,葉綠素?zé)晒庀妊杆偕仙揭粋€(gè)最大值,然后逐漸下降,最后達(dá)到一個(gè)穩(wěn)定值。此后,隨著研究的深入,人們逐步認(rèn)識(shí)到熒光誘導(dǎo)動(dòng)力學(xué)曲線中蘊(yùn)藏著豐富的信息。葉綠素?zé)晒鈩?dòng)力學(xué)曲線如圖1所示。

葉綠素?zé)晒鈩?dòng)力學(xué)曲線包含了十分豐富的光合作用過(guò)程變化的信息,其分析技術(shù)是近年來(lái)在光合作用機(jī)理研究中發(fā)展起來(lái)的一種新型、快速、簡(jiǎn)便、精確且整體無(wú)損傷檢測(cè)植物光合作用生理狀況的新技術(shù),被視為植物光合作用與環(huán)境關(guān)系的內(nèi)在探針,得到廣泛應(yīng)用[2]。目前,測(cè)量葉綠素?zé)晒獾乃沧儸F(xiàn)象均是通過(guò)熒光儀來(lái)測(cè)量[3],得到的葉綠素?zé)晒鉁y(cè)量結(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),存在定位過(guò)程不透明、定位結(jié)果不準(zhǔn)確、不能調(diào)整與優(yōu)化I點(diǎn)與J點(diǎn)的位置等問(wèn)題[4,5]。

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

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

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

程序從測(cè)量數(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對(duì)象的readAsBinaryString()方法允許瀏覽器直接將所讀取的坐標(biāo)原始值,作為二進(jìn)制字符串存儲(chǔ)到其result屬性中,直接供后續(xù)程序解析。

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

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

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

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

2.3.1? ?曲線擬合

程序每讀取一個(gè)數(shù)據(jù)文件創(chuàng)建一個(gè)對(duì)象,對(duì)應(yīng)建立一個(gè)OJIP曲線,原始數(shù)據(jù)與計(jì)算結(jié)果都作為對(duì)象屬性存儲(chǔ)。同時(shí),對(duì)象定義了擬合、求導(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圖表庫(kù)插件將離散的坐標(biāo)點(diǎn)繪制為折線圖。echarts是一個(gè)純JavaScript的圖表庫(kù),可以運(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)的大致位置后,通過(guò)鼠標(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),用戶可以在任一圖表上對(duì)I點(diǎn)與J點(diǎn)的位置進(jìn)行微調(diào)。通過(guò)選擇不同的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,即折線圖。通過(guò)chart.setOption()方法更新圖表,使折線圖顯示在頁(yè)面上。

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

程序記錄圖表上被選中的數(shù)據(jù)點(diǎn)的序號(hào),存儲(chǔ)在一個(gè)數(shù)組中。由于同一個(gè)區(qū)域中數(shù)據(jù)點(diǎn)的序號(hào)是連續(xù)的,可以將序號(hào)分離為幾個(gè)數(shù)組,分別對(duì)應(yīng)選中的各個(gè)區(qū)域。對(duì)于每一條曲線,程序都在選中的區(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曲線對(duì)象的屬性中。程序監(jiān)聽(tīng)markPoint上的點(diǎn)擊事件,當(dāng)用戶需要調(diào)整特征點(diǎn)的位置時(shí),點(diǎn)擊需要移動(dòng)的特征點(diǎn),程序會(huì)記錄被點(diǎn)擊的特征點(diǎn)的序號(hào)。之后在用戶點(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對(duì)象。其中,外層數(shù)組中的每個(gè)數(shù)組元素會(huì)成為sheet的一行,而內(nèi)層數(shù)組的每個(gè)元素則成為一行中的各個(gè)單元格。將sheet對(duì)象添加到一個(gè)workbook對(duì)象之后,使用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ù),輔助研究光合作用過(guò)程中光系統(tǒng)II對(duì)光能的吸收、傳遞、耗散、分配等過(guò)程,使葉綠素?zé)晒庑盘?hào)研究更加方便快捷。

可進(jìn)一步運(yùn)用物聯(lián)網(wǎng)技術(shù),通過(guò)遠(yuǎn)程智能化的葉綠素?zé)晒庑盘?hào)儀,在線實(shí)時(shí)報(bào)送數(shù)據(jù),構(gòu)成采樣數(shù)據(jù)庫(kù),軟件分析系統(tǒng)直接實(shí)時(shí)讀取數(shù)據(jù)庫(kù)數(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] 溫國(guó)勝,田海濤,張明如,等.葉綠素?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] 萬(wàn)文博,華燈鑫,樂(lè)靜,等.基于激光誘導(dǎo)葉綠素?zé)晒鈮勖上窦夹g(shù)的植物熒光特性研究[J].物理學(xué)報(bào),2015(19):68-74.

作者簡(jiǎn)介:

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

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

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

主站蜘蛛池模板: 美女高潮全身流白浆福利区| 一本大道视频精品人妻 | 亚洲国产AV无码综合原创| 亚洲人成网站色7777| 98精品全国免费观看视频| 无遮挡国产高潮视频免费观看| 国产黑丝一区| 超碰免费91| 毛片在线区| 国产对白刺激真实精品91| 91久草视频| 成人亚洲国产| 久久人体视频| 三上悠亚在线精品二区| 欧美无专区| 日韩国产亚洲一区二区在线观看 | 久久久精品无码一区二区三区| a免费毛片在线播放| 夜夜操天天摸| 亚洲欧洲日产国产无码AV| 一本色道久久88亚洲综合| 欧美在线中文字幕| 国产成人麻豆精品| 丁香五月激情图片| 97se亚洲综合在线韩国专区福利| 午夜日b视频| 玖玖精品视频在线观看| 亚洲日韩在线满18点击进入| 中文天堂在线视频| 国产在线高清一级毛片| 欧美午夜在线观看| 99ri精品视频在线观看播放| 91福利国产成人精品导航| 日本亚洲欧美在线| 亚洲欧美日韩中文字幕一区二区三区 | 孕妇高潮太爽了在线观看免费| 制服无码网站| 老色鬼久久亚洲AV综合| 亚洲人网站| 91久久性奴调教国产免费| 国产亚洲视频免费播放| 精品国产成人三级在线观看| 欧美色99| 麻豆精品国产自产在线| 91麻豆久久久| 国产伦精品一区二区三区视频优播 | 在线看片免费人成视久网下载 | 国产乱子伦视频三区| 亚洲a免费| 亚洲第一视频区| 97精品国产高清久久久久蜜芽| 欧美日本在线| 久久久久人妻一区精品色奶水| 亚洲一级色| 国产无码精品在线播放| 亚洲日韩在线满18点击进入| 日韩欧美91| 亚洲视频三级| 午夜国产小视频| 国产成人久视频免费| 久久亚洲国产一区二区| 福利一区在线| 亚洲综合激情另类专区| 色一情一乱一伦一区二区三区小说| 欧美成人手机在线观看网址| 1024国产在线| 999国产精品| 制服丝袜一区二区三区在线| 91热爆在线| 国产高清又黄又嫩的免费视频网站| 国产精品19p| 国产精品女人呻吟在线观看| 国产成人AV大片大片在线播放 | 中文字幕 日韩 欧美| 国产不卡网| 午夜高清国产拍精品| 欧洲极品无码一区二区三区| 欧美日韩成人在线观看| 色婷婷成人网| 91视频99| 麻豆精品在线| av午夜福利一片免费看|