亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

與設(shè)備無關(guān)地確定用顯微鏡成像的點的坐標(biāo)的方法和系統(tǒng)的制作方法

文檔序號:2777479閱讀:357來源:國知局
專利名稱:與設(shè)備無關(guān)地確定用顯微鏡成像的點的坐標(biāo)的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及用于與設(shè)備無關(guān)地確定一用顯微鏡成像的點的坐標(biāo)的方法和系統(tǒng),以及涉及一種用于此的校準(zhǔn)載物臺。
顯微鏡經(jīng)常被用來識別小的、用裸眼看不到的結(jié)構(gòu),以及被用來找出這些結(jié)構(gòu)中的特定特征。在細胞學(xué)、組織學(xué)和病理學(xué)中,顯微鏡的基本任務(wù)在于詳細掃描標(biāo)本和搜尋感興趣的結(jié)構(gòu)、細胞或細胞聯(lián)合及其類似物。如果在標(biāo)本上已找到這些結(jié)構(gòu)的位置,那么由于各種原因,對這些位置進行標(biāo)記是值得追求的。例如,為了檢驗、進一步檢查或出于質(zhì)量保證的原因,被找到的結(jié)構(gòu)必須在以后的時刻由相同的或另一個用戶再次找出。為此,許多顯微鏡具有一個單元以用于測定某個點在與設(shè)備有關(guān)的坐標(biāo)系中的位置坐標(biāo)。通過機電地測定這種坐標(biāo),可以在以后的時刻再次駛向該被找到的位置。
然而坐標(biāo)通常是與設(shè)備有關(guān)的,也就是說,只有當(dāng)顯微鏡校準(zhǔn)沒有發(fā)生變化和沒有出現(xiàn)容差時,才能正確地再現(xiàn)該設(shè)備的坐標(biāo)。但如果例如顯微鏡臺被拿掉去修理然后又被裝上,那么對于標(biāo)本上的同一位置,該顯微鏡臺會提供一個不同于原來所確定的坐標(biāo)的坐標(biāo)。不同的顯微鏡、即便是相同的類型,其坐標(biāo)系也不是(完全)相同的。
需要在任意的顯微鏡之間建立互用性,以便例如第二用戶能夠在其系統(tǒng)中再次駛向標(biāo)本上的、已被任意第一用戶測定和存儲的感興趣位置。
該任務(wù)通過本發(fā)明的用于與設(shè)備無關(guān)地確定一用顯微鏡成像的點的坐標(biāo)的方法和系統(tǒng)來解決。本發(fā)明的方法規(guī)定,首先針對至少一個參考點E1在DICOM坐標(biāo)系中的與物體有關(guān)的預(yù)定參考坐標(biāo)(X1,Y1,Z1)確定至少一個被成像的參考點E1在與設(shè)備有關(guān)的坐標(biāo)系內(nèi)的所屬設(shè)備坐標(biāo)(x1,y1,z1),由此求出一個用于把與設(shè)備有關(guān)的坐標(biāo)(x,y,z)換算成DICOM坐標(biāo)系坐標(biāo)(X,Y,Z)的變換規(guī)則φ。然后借助于被求出的變換規(guī)則φ把成像點(P)的設(shè)備坐標(biāo)(xP,yP,zP)換算成與設(shè)備無關(guān)的DICOM坐標(biāo)系坐標(biāo)(XP,YP,ZP),以進行與設(shè)備無關(guān)的坐標(biāo)確定。
“Digital Imaging and Communications in Medicine”(DICOM-)標(biāo)準(zhǔn)已經(jīng)被研制用于醫(yī)學(xué)設(shè)備的圖像的格式化和交換,并且被集成到該設(shè)備中。DICOM還在美國、歐洲、日本被公知。DICOM委員會已經(jīng)在1999年7月2日在美國弗吉尼亞在Supplement(增刊)15中制定了在內(nèi)窺鏡檢查術(shù)、顯微術(shù)和攝影術(shù)中用于用可見光獲得的圖像的標(biāo)準(zhǔn)(Supplement 15Visible Light Image for Endoscopy,Microscopyand Photography)。利用本發(fā)明,這種僅涉及標(biāo)本的并因此與設(shè)備無關(guān)的DICOM坐標(biāo)系可以在任意的顯微鏡上實現(xiàn)。本發(fā)明方案的技術(shù)解決包括兩個步驟。首先如此地校準(zhǔn)顯微鏡坐標(biāo)系,使得求出一個用于把與設(shè)備有關(guān)的坐標(biāo)換算成與設(shè)備無關(guān)的DICOM坐標(biāo)系坐標(biāo)的變換規(guī)則。在該校準(zhǔn)步驟之后,任意成像點的坐標(biāo)可以借助于該變換規(guī)則被變換成與設(shè)備無關(guān)的DICOM坐標(biāo)系坐標(biāo)。然后,即便在另外的顯微鏡上,也可以在以后時刻或由另外的用戶再次駛向后面的那個坐標(biāo),顯然,該另外的設(shè)備必須還包括用于該DICOM坐標(biāo)系的校準(zhǔn)可能性。
對于所述的校準(zhǔn)步驟,在一個非常優(yōu)選的方案中采用一個校準(zhǔn)載物臺來預(yù)給定至少一個參考點E1的參考坐標(biāo)。該校準(zhǔn)載物臺根據(jù)DICOM標(biāo)準(zhǔn)的預(yù)給定具有標(biāo)記預(yù)定參考點的校準(zhǔn)十字。
為了能最佳地考慮(x,y)平面中的所有被考慮的變換,也即平移、旋轉(zhuǎn)和縮放,在數(shù)學(xué)上在校準(zhǔn)載物臺上需要至少2.5個參考點或校準(zhǔn)十字。當(dāng)需要在z方向也進行校準(zhǔn)時,可能需要附加的點。
因為在顯微術(shù)中使用確定類型的載物臺,所以優(yōu)選地為每個載物臺類型分別制造和為本發(fā)明方法使用一個相應(yīng)的校準(zhǔn)載物臺。
為了校準(zhǔn)的目的,例如在校準(zhǔn)載物臺(校準(zhǔn)載片)上布置三個與參考點E1,E2和E3相對應(yīng)的校準(zhǔn)十字。該參考點或校準(zhǔn)點E1~E3的(X,Y,Z)坐標(biāo)是被規(guī)定的。它們涉及DICOM坐標(biāo)系的坐標(biāo)原點,該坐標(biāo)原點可以位于載物臺的外角處。
用顯微鏡臺駛向校準(zhǔn)點E1~En(n>=1),并且各個(x1,y1,z1),...,(xn,yn,zn)值被記錄和存放在本地的、也即所用顯微鏡的與設(shè)備有關(guān)的坐標(biāo)系中。對于校準(zhǔn)點E1~En,在DICOM坐標(biāo)系中的(X,Y,Z)值,以及經(jīng)測量后的本地坐標(biāo)系中的(x,y,z)值是已知的,因此通過標(biāo)準(zhǔn)方法可以計算出用于把與設(shè)備有關(guān)的坐標(biāo)換算成與設(shè)備無關(guān)的DICOM坐標(biāo)系坐標(biāo)的變換規(guī)則。
在此,針對(x,y)坐標(biāo)采用超定的仿射變換來作為變換方法。對于在一個平面內(nèi)出現(xiàn)的平移、旋轉(zhuǎn)和用縮放因子縮放的變換,當(dāng)需要考慮所有上述校準(zhǔn)可能性時,在數(shù)學(xué)上需要至少2.5個、實際中也即至少3個參考點(校準(zhǔn)十字)。
DICOM坐標(biāo)系的Z坐標(biāo)原點位于載物臺的表面(無玻璃蓋)。由于在上述校準(zhǔn)中也一同納入了本地的Z坐標(biāo),所以也可以將z值變換到DICOM坐標(biāo)系。在Z校準(zhǔn)中,基本上可以區(qū)分為兩種情況。
如果在校準(zhǔn)時需要在(X,Y)平面的方向上增加或減小所述校準(zhǔn)載物臺的表面的z值,則指示出該校準(zhǔn)載物臺沒有完全水平,而是一個在Z方向上具有傾斜度的斜平面。在該情況下,為了提高精度,還需要利用斜平面形式的措施來進行Z校準(zhǔn),因為否則的話(X,Y)校準(zhǔn)的精度會下降。在該情況下,可以沿著斜平面的斜坡通過聚焦到載物臺的表面來測量偏差Δz,然后進行Z校準(zhǔn),為此在數(shù)學(xué)上需要至少1.5個點。因此,為了結(jié)合(X,Y)平面中的超定的仿射變換一起進行這種Z校準(zhǔn),在校準(zhǔn)載物臺上需要至少4個點(2.5+1.5=4)。
相反,如果確定在校準(zhǔn)載物臺上的一些被選出的參考點的z坐標(biāo)相互有偏差,但并未呈現(xiàn)為斜平面的形式,那么可以采取求平均作為簡單的變換規(guī)則,其中對所述參考的上述z坐標(biāo)求平均,并將該平均值定義為z方向上的坐標(biāo)原點。換句話說,計算出的z坐標(biāo)的平均值對應(yīng)于DICOM坐標(biāo)系的坐標(biāo)原點。
另外也可以想見,結(jié)合地發(fā)生上述兩種作用。
為了應(yīng)用于本發(fā)明的方法,建議了一種校準(zhǔn)載物臺,其具有至少一個參考點,該參考點具有預(yù)定的DICOM坐標(biāo)系參考坐標(biāo)。如上文所述,在該校準(zhǔn)載物臺上設(shè)有校準(zhǔn)十字,該校準(zhǔn)十字表現(xiàn)為本發(fā)明方法的參考點。在DICOM坐標(biāo)系中,坐標(biāo)原點位于矩形校準(zhǔn)載物臺的一個外角上。尤其有利的是,該校準(zhǔn)載物臺的大小和形狀對應(yīng)于已知類型的載物臺,就象在顯微鏡中被使用的那種。
為了互用性,有必要在相應(yīng)的系統(tǒng)(顯微鏡)上進行本發(fā)明方法的校準(zhǔn)。為此采用相同的校準(zhǔn)載物臺是最適用的。
作為用于與設(shè)備無關(guān)地確定一用顯微鏡成像的點的坐標(biāo)的系統(tǒng),其中所述的顯微鏡具有用于確定成像點P的設(shè)備坐標(biāo)(xP,yP,zP)的單元,本發(fā)明規(guī)定設(shè)有一個計算機單元,該計算機單元根據(jù)至少一個被成像的參考點E1的設(shè)備坐標(biāo)(x1,y1,z1)和所屬的在DICOM坐標(biāo)系中的與物體有關(guān)的預(yù)定參考坐標(biāo)(X1,Y1,Z1)計算出一個用于把與設(shè)備有關(guān)的坐標(biāo)(x,y,z)換算成DICOM坐標(biāo)系坐標(biāo)(X,Y,Z)的變換規(guī)則φ。用于計算變換規(guī)則的該計算單元可以被集成在顯微鏡中,或者是外圍計算機的組成部分。
利用本發(fā)明的這種系統(tǒng)可以將與設(shè)備有關(guān)的坐標(biāo)變換成與設(shè)備無關(guān)的DICOM坐標(biāo)系坐標(biāo)。為此,將求出的變換規(guī)則φ應(yīng)用到任意成像點P的坐標(biāo)(xP,yP,zP),并計算出與設(shè)備無關(guān)的DICOM坐標(biāo)系中的相應(yīng)坐標(biāo)(XP,YP,ZP)。為了使本發(fā)明的校準(zhǔn)方法和隨后的與設(shè)備無關(guān)的坐標(biāo)計算盡可能有效地自動化,借助于計算機程序來設(shè)施該方法是有意義的,該計算機程序尤其在本發(fā)明系統(tǒng)的上述計算機單元上被啟動和執(zhí)行。該計算機程序可以被存儲在如CD-ROM、EEPROM或也可以是閃存形式的數(shù)據(jù)載體上,或者可以通過各種計算機網(wǎng)(如內(nèi)聯(lián)網(wǎng)或互聯(lián)網(wǎng))被下載到工作存儲器中。
在運行該計算機程序時,例如在把具有DICOM坐標(biāo)系的校準(zhǔn)載物臺放到顯微鏡臺上后,(自動地)測量在與設(shè)備有關(guān)的坐標(biāo)系中的以校準(zhǔn)十字形式敷設(shè)的參考點,并確定相應(yīng)的坐標(biāo)。在測量優(yōu)選為3個或更多個這種參考點之后,該計算機程序開始計算變換規(guī)則。然后,用顯微鏡檢查標(biāo)本,并由該計算機程序借助于該變換規(guī)則自動地把感興趣的點的設(shè)備坐標(biāo)換算成與設(shè)備無關(guān)的DICOM坐標(biāo)系坐標(biāo)。
該計算機程序可以通過用戶的交互來控制上述所有的過程,或者自動地執(zhí)行程序模塊形式的該方法的某些部分。
下面借助于附圖所示的實施例來詳細講述本發(fā)明及其優(yōu)點。


圖1用簡要視圖示出了本發(fā)明的系統(tǒng),用于與設(shè)備無關(guān)地確定需用顯微鏡成像的點的坐標(biāo);圖2示出了本發(fā)明的校準(zhǔn)載物臺和顯微圖像,其具有被簡要地示出的用于確定設(shè)備坐標(biāo)以求出變換規(guī)則φ的單元的一部分;圖3示出了在取決于設(shè)備的坐標(biāo)系和在DICOM坐標(biāo)系中的成像點P。
圖1以非常簡略的形式示出了一個顯微鏡1,其具有物鏡7用于對由載物臺6所承載的物體結(jié)構(gòu)進行放大成像。這種物體結(jié)構(gòu)可以是細胞、細胞聯(lián)合,但也可以是象半導(dǎo)體結(jié)構(gòu)那樣的技術(shù)結(jié)構(gòu)。與此相應(yīng),顯微術(shù)的應(yīng)用從醫(yī)學(xué)領(lǐng)域(細胞學(xué)、組織學(xué)、病理學(xué))延伸到技術(shù)領(lǐng)域(例如晶片制造或納米技術(shù))。在這種應(yīng)用領(lǐng)域中,有必要在結(jié)構(gòu)中標(biāo)記奇異性或缺陷,而且在以后時刻或由其他用戶能再次找到它們。
通常在顯微鏡1或顯微攝像機11上連接一個計算機單元2,以便能進一步處理和存儲顯微圖像。為簡化的緣故,下面假定在計算機單元2的監(jiān)視器10上能夠觀察顯微圖像8,而且用于確定設(shè)備坐標(biāo)(在顯微圖像中的坐標(biāo))的單元4的至少一部分也存在于計算機單元2中。
載物臺6通常通過真空抽吸法被裝到顯微鏡臺5上,其中顯微鏡臺5通常在其空間位置方面可調(diào)。為了檢查物體結(jié)構(gòu),可以進行總拍攝(ONESHOT)或掃描。
從顯微鏡1或從顯微攝像機11傳輸給計算機單元2的圖像數(shù)據(jù)在該實施例中被顯示在計算機單元2的監(jiān)視器10上的與設(shè)備有關(guān)的坐標(biāo)系中,其中例如通過用鼠標(biāo)12點擊所顯示的圖像的某個點,就可以求出、顯示和存儲該點在顯微鏡系統(tǒng)中的相應(yīng)坐標(biāo)。
在當(dāng)前情況下,計算機單元2具有一個計算機程序,其根據(jù)一個或多個被成像的參考點和相對于載物臺6上的DICOM坐標(biāo)系的所屬的已知預(yù)定參考坐標(biāo)可以推導(dǎo)出一個變換規(guī)則φ,借助于該變換規(guī)則可以把與設(shè)備有關(guān)的坐標(biāo)換算成DICOM坐標(biāo)系中的坐標(biāo)(這種計算機程序的例子可以在本說明書的最后找到)。為此,有意義的是通過以下方式對系統(tǒng)進行校準(zhǔn),即把具有DICOM坐標(biāo)系中的至少一個參考點的校準(zhǔn)載物臺3用作載物臺,以便借助于一個或多個被成像的參考點計算出所述的變換規(guī)則。
與設(shè)備無關(guān)地確定例如表示一個干擾、一個奇異性或一個缺陷的成像點的坐標(biāo),對于可靠地再次找到該點是非常有益的。盡管在同一或相同的設(shè)備中存在容差,這也可以例如在以后在同一設(shè)備或相同結(jié)構(gòu)類型的設(shè)備處進行檢查時實現(xiàn)可靠的再次尋找,但即便在以后在另外的設(shè)備處或在遠距顯微術(shù)(遠距病理學(xué)或遠距診斷或遠距手術(shù))中進行檢查時也能這樣。
圖2示出了具有DICOM-(XY-)坐標(biāo)系的校準(zhǔn)載物臺3和具有與設(shè)備有關(guān)的(xy-)坐標(biāo)系的所屬顯微圖像8。變換規(guī)則φ在該兩個坐標(biāo)系之間建立了關(guān)聯(lián)。
在該實施例中,本發(fā)明的校準(zhǔn)載物臺3(校準(zhǔn)載片)具有6個校準(zhǔn)十字9,對應(yīng)于DICOM坐標(biāo)系X、Y、Z中的點E1至E6,其中坐標(biāo)原點位于校準(zhǔn)載物臺3的左上角。出于簡單的原因下面不考慮Z坐標(biāo)。Z校準(zhǔn)的可能性已經(jīng)在本說明書的上文給出。為了校準(zhǔn)圖1所示的系統(tǒng),首先把校準(zhǔn)載物臺3放置到顯微鏡臺5上,并借助于顯微鏡1和計算機單元2產(chǎn)生一個顯微圖像8。在圖2的下半部示出了這種顯微圖像8,其具有與設(shè)備有關(guān)的坐標(biāo)系x,y,其中借助于單元4可以針對被成像的校準(zhǔn)十字(E1至E6)確定相應(yīng)的設(shè)備坐標(biāo)(x1,y1)至(x6,y6)。需要指出的是,并不是所有的6個校準(zhǔn)十字9都必須被考慮用來校準(zhǔn),而是根據(jù)所需要的精度,較少的校準(zhǔn)十字就足夠了。但如上所述,有益的是,為借助于超定的仿射變換推導(dǎo)出變換規(guī)則而采用三個校準(zhǔn)十字。
超定的仿射變換方法(參見本說明書最后的實施例)本身是已知的,因此下面不再詳細講述。也可以采用本領(lǐng)域技術(shù)人員公知的用于推導(dǎo)變換規(guī)則φ的其它方法。由用于確定設(shè)備坐標(biāo)的單元4確定合適數(shù)量的被成像的校準(zhǔn)十字(也即x,y坐標(biāo)系中的相應(yīng)參考點E1,E2,E3...)的坐標(biāo)。校準(zhǔn)載物臺3上的相應(yīng)校準(zhǔn)十字(參考點)在DICOM-XY-坐標(biāo)系中的坐標(biāo)是預(yù)給定的。計算機單元2,或更確切地說是在該計算機單元2上運行的相應(yīng)計算機程序,可以由此計算出用于把與設(shè)備有關(guān)的坐標(biāo)(x,y)換算成與設(shè)備無關(guān)的DICOM坐標(biāo)系坐標(biāo)(X,Y)的變換規(guī)則φ。
有意義的是,把被用于計算所屬變換規(guī)則φ-如上所述-的相應(yīng)校準(zhǔn)載物臺制成通用的載物臺型式。
現(xiàn)在利用所求出的變換規(guī)則φ可以把成像點P的設(shè)備坐標(biāo)(xp,yp)-如圖3所示-換算成與設(shè)備無關(guān)的DICOM坐標(biāo)系坐標(biāo)(XP,YP)。在此,點P例如可以表示在某個細胞結(jié)構(gòu)中的奇異性或半導(dǎo)體結(jié)構(gòu)中的缺陷。點P的坐標(biāo)通過所述用于確定設(shè)備坐標(biāo)的單元4來確定,并利用已知的變換規(guī)則φ被換算成與設(shè)備無關(guān)的DICOM坐標(biāo)系坐標(biāo)。為了以后的檢查或再檢查,點P的與設(shè)備無關(guān)的坐標(biāo)與用于再檢查的標(biāo)本一起被轉(zhuǎn)交。進行再檢查的系統(tǒng)顯然也必須具有DICOM坐標(biāo)系的校準(zhǔn)可能性。尤其必要的是,該系統(tǒng)根據(jù)所轉(zhuǎn)交的點P的DICOM坐標(biāo)利用逆變換規(guī)則φ-1來計算出點P的所屬與設(shè)備有關(guān)的坐標(biāo),以便能再次駛向顯微圖像8中的該點。
下面給出一個用C編程語言編寫的計算機程序的例子,用它可以通過超定的仿射變換方法對本地顯微鏡坐標(biāo)系和DICOM坐標(biāo)系的坐標(biāo)進行來回變換<pre listing-type="program-listing"><![CDATA[  /*-------------------------------------------------------*/   //calculation for overdetermined affine transformation   //forward and backward calculation   //coordinate systems are:   //native microscope-coordinate system,slide-dependent   //microscope-independent DICOM coordinate system   /*------------------------------------------------*/   #include<stdio.h>   /**Function PROTOTYPES**/  //given:native microscope coordinates,calculate DICOM coordinates void  CalculateDICOMCoordinates  double x_Microscope,  double y_microscope,  double*pX_DICOM,  double*pY_DICOM  );  //given:DICOM coordinates,calculate native microscope coordinates void  CalculateNativeMicroscopeCoordinates  double X_DICOM,  double Y_DICOM,  double*px_Microscope,  double*py_Microscope);  //calculate coordinate transformation coefficients for forward and back transformation  int CalcForwBackwTransCoefficients  int NoOfGaugingPoints,  double*x_MicroscopeSystem,  double*y_MicroscopeSystem,  double*x_DICOMSystem,  double*y_DICOMSystem  );  //reset transformation coefficients to default values   void ResetTransformationCoefficients(void);  int CalculateTransformation(  double*a,double*b,double*c,double*d,double*e,double*f,  int NoOfGaugingPoints,  double*x_Microscope,double*y_Microscope,  double*x_DICOM,double*y_DICOM  );  /*static variables for coordinate transformation*/  /*forward transformation coefficients*/  double aFwd=1.0;  double bFwd=1.0;  double cFwd=0.0;  double dFwd=1.0;  double eFwd=1.0;  double fFwd=0.0;  /*backward transformation coefficients*/  double aBwd=1.0;  double bBwd=1.0;  double cBwd=0.0;  double dBwd=1.0;  double eBwd=1.0;  double fBwd=0.0;  int main(void)  { //coordinates of calibration points E1 to E6 in DICOM and native microscope system   double aX_DICOM□={3000.,3000.,3000.,17000.,17000.,17000.};   double aY_DICOM□={10000.,30000.,50000,10000.,30000.,50000.};   double ax_Microscope□={41000.,43000.,45000.,181000.,183000.,   185000};   double ay Microscope□={129400.,309400.,489400.,126600.,306600.,486600.};   doublexMicTest,yMicTest;   doubleXDICTest,YDICTest;   int i;   printf("\n\n");   printf("Affin Transformation From Native Microscope To DICOM Coordinate   System\n");   printf   ("==================================================================\n");   printf("\n\n\n");   printf("Coordinates of gauging points\n\n");   for(i=0;i<=5;++i){   printf ("E%d:X-DICOM=%10.1fY-DICOM=%10.1fx-Mic=%10.1fy- Mic=%10.1f\n",   i+1,aXDICOM[i],aY_DICOM[i],axjvlicroscope[i],ay_Microscope[i]);printf("\n\n");   if(0==CalcForwBackwTransCoefficients(6,   ax_Microscope,ay_Microscope,aX_DICOM,aY_DICOM)){printf   ("computation failed\n");   return 0;   }   printf("forward calculation coefficients\n");   printf("--------------------------\n");   printf("X-DICOM=%.4f*x-Mic+%.4f*y-Mic+%.4f\n",aFwd.bFwd.cFwd);printf   ("Y-DICOM=%.4f*x-Mic+%.4f*y-Mic+%.4f\n\n\n",dFwd,eFwd,fFwd);  printf("backward calculation coefficients\n");     printf("-------------------\n\n");  printf("x-Mic=%.4f*X-DICOM+%.4f*Y-DICOM+%.4f\n",aBwd.bBwd.cBwd);  printf("y-Mic=%.4f*X-DICOM+%.4f*Y-DICOM+%.4f\n\n\n",dBwd.eBwd.fBwd);   printf("Tests of calculation\n");   printf("...............\n\n");   printf("Test1 using microscope coordinates of gauging point E4 as input\n");   printf("\n\n");   xMicTest=181000.;   yMicTest=126600.;   printf("***input***:xMicroscope=%10.1f y Microscope=%10.1f\n",xMicTest,yMicTest);   CalculateDICOMCoordinates(181000.,126600.,&amp;XDICTest,&amp;YDICTest);   printf("***result***:x DICOM=%10.1f y DICOM=%10.1f\n\n",XDICTestYDICTest);   printf("End of test1\n\n");   printf("Test2 applying forward and backward transformation to test point\n");   printf("\n\n");   xMicTest=100000.;   yMicTest=250000.;   printf("***input ***:x Microscope=%10.1f y Microscope=%10.1f\n",xMicTest,yMicTest);   printf("forward transform\n");   CalculateDICOMCoordinates(xMicTest,yMicTest,&amp;XDICTest,&amp;YDICTest);  printf("*"result***:x DICOM=%10.1f y DICOM=%10.1f\n",XDICTest,YDICTest);   printf("backward transform\n");   xMicTest=0.;   yMicTest=0.;CalculateNativeMicroscopeCoordinates(XDICTest,YDICTest,&amp;xMicTest,&amp;yMicTest);printf("***result"*:x Microscope=%10.1f y Microscope=%10.1f\n",xMicTest, yMicTest);printf("End of test2\n\n");return0;}/*----------------------------------------------*/  //forward transformation:calculate DICOM coordinates from  //native microscope coordinates/*----------------------------------------------*/  void CalculateDICOMCoordinates(  //input:x,y coordinates in the microscope system  double x_Microscope,  double y_Microscope,  //output:X.Y coordinates in the DICOM System  double*pX_DICOM,  double*pY_DICOM  )  {  *pX_DICOM=aFwd*x_Microscope+bFwd*y^Microscope+cFwd;  *pY_DICOM=dFwd*x_Microscope+eFwd*yMicroscope+fFwd;   /*---------------------------------------------*/ //back transformation:calculate native microscope-coordinates from DICOM //coordinates   /*---------------------------------------------*/void CalculateNativeMicroscopeCoordinates(  //input:X.Y coordinates in the DICOM System  double X_DICOM, double Y_DICOM,   //output:x,y coordinates in the microscope system double*px_Microscope,  double*py_Microscope  )  {  *px_Microscope=aBwd*X_DICOM+bBwd*Y_DICOM+cBwd;  *py_Microscope=dBwd*X_DICOM+eBwd*Y_DICOM+fBwd;  }/*===================================================*/  int CalcForwBackwTransCoefficients  int NoOfGaugingPoints,double*x_MicroscopeSystem,   double*y_MicroscopeSystem,   double′x_DICOMSystem,   double*y_DICOMSystem  /*===================================================*/   if(NoOfGaugingPoints<3)return 0;   if(0==CalculateTransformation(&amp;aBwd,&amp;bBwd,&amp;cBwd,&amp;dBwd,&amp;eBwd,&amp;fBwd,   NoOfGaugingPoints,x_MicroscopeSystem,y_MicroscopeSystem,x_DICOMSystem,  y_DICOMSystem))   return 0;   if(0==CalculateTransformation(&amp;aFwd,&amp;bFwd,&amp;cFwd,&amp;dFwd,&amp;eFwd,&amp;fFwd,   NoOfGaugingPoints,x_DICOMSystem,y_DICOMSystem,x_MicroscopeSystem,   y_MicroscopeSystem))  return 0;   return 1;}  /*===================================================*/   void ResetTransformationCoefficients(void)  /*===================================================*/  /*reset coefficients*/  aFwd=1.0;  bFwd=1.0;  cFwd=0.0;  dFwd=1.0;  eFwd=1.0;  fFwd=0.0;  aBwd=1.0;  bBwd=1.0;  cBwd=0.0; dBwd=1.0;   eBwd=1.0;  fBwd=0.0; }  /*===================================================*/   Int CalculateTransformation(double*a,double*b,double*c,   double*d,double*e,double*f,   int NoOfGaugingPoints,   double*x_Microscope,double*y_Microscope,   double*x_DICOM,double*y_DICOM   )  /*===================================================*/   {   int i;double*xDIC,*yDIC,*xMic,*yMic;double r1,r2,r3,r4,r5,r6,r7,r8;double r9,r10,r11,r12,r13,r14,r15;  r1=r2=r3=r4=r5=r6=r7=r8=r13=r14=r15=0.0;   xDIC=x_DICOM;yDIC=   y_DICOM;xMic=x_Microscope;   yMic=y_Microscope;  for(i=0;i<NoOfGaugingPoints;i++)   {  r1+=*xDIC;  r2+=*yDIC;  r3+=*xDIC**xDIC;r4+=  *yDIC**yDIC;r5+=*xMic;  r6+=*xDIC**yDIC;r7+=  *xMic**yDIC;r8+=*xDIC*  *xMic++;  r13+=*yMic;  r14+=*y DIC++**yMic;  r15+=*xDIC++**yMic++; }  /*accounting of coefficients a,b,c*/  for(i=1;i<=2;i++){    r9=r3*r4*NoOfGaugingPoints+2*r1*r2*r6-r1*r1*r4-r2*r2*r3\   -r6*r6′NoOfGaugingPoints;   /*transformation is singular*/   if(r9==0.0) return0;   if(i==2)  {   /*accounting of coefficients d,e,f*/   r5=r13;   r7=r14;   r8=r15;   }  r10=r8*r4*NoOfGaugingPoints+r6*r2*r5+r1*r7*r2-\  r1*r4*r5-r8*r2*r2-r6*r7*NoOf-GaugingPoints;  r11=r3*r7*NoOfGaugingPoints+r8*r2*r1+r1*r6*r5-r1*r1*r7-r3*r2\  *r5-r8*r6*NoOfGaugingPoints;r12   =r3*r4*r5+r6*r7*r1+r8*r6*r2\   -r8*r4*r1-r5*r6*r6-r3*r7*r2;  r10=r10/r9;  r11=r11/r9;  r12/=r9;  if(i==1)  {   *a=r10;*b=r11;*c=r12;   }else   {*d=r10;*e=r11;*f=r12;   }   }   return 1;  }  /*====================End(end of file)=====================*/]]></pre>以下的文本展示了當(dāng)預(yù)給定6個校準(zhǔn)點E1-E6并然后執(zhí)行兩次測試時由上述程序所生成的打印。第一測試(Test1)針對校準(zhǔn)點E4進行到DICOM坐標(biāo)系的去向變換,而第二測試(Test2)執(zhí)行預(yù)定測試點(P)的來回變換<pre listing-type="program-listing"><![CDATA[  Affine Transformation From Native Microscope To DICOM Coordinate System  ===========================================================================  Coordinates of gauging points  E1:X-DICOM=3000.0Y-DICOM=10000.0x-Mic=41000.0 y-Mic=129400.0  E2:X-DICOM=3000.0Y-DICOM=30000.0x-Mic=43000.0 y-Mic=309400.0  E3:X-DICOM^3000.0Y-DICOM=50000.0x-Mic=45000.0 y-Mic=489400.0  E4:X-DICOM=17000.0Y-DICOM=10000.0x-Mic= 181000.0 y-Mic=126600.0  E5:X-DICOM=17000.0Y-DICOM=30000.0x-Mic= 183000.0 y-Mic=306600.0  E6:X-DICOM=17000.0Y-DICOM=50000.0x-Mic= 185000.0 y-Mic=486600.0  forward calculation coefficients   -------------------------------  X-DICOM=0.1000*x-Mic+-0.0011*y-Mic+-955.3433  Y-DICOM=0.0022*x-Mic+0.1111*y-Mic+-4465.6743  backward calculation coefficients  --------------------------------  x-Mic=10.0000*X-DiCOM+0.1000*Y-DICOM+10000.0000  y-Mic=-0.2000*X-DICOM+9.0000*Y-DICOM+40000.0000  Tests of calculation  --------------------Test1 using microscope coordinates of gauging point E4 as input   ***input***:xMicroscope=181000.0 y Microscope=1 26600.0***  result***:x DICOM=17000.0 y DICOM=10000.0   End of test1   Test2 applying forward and backward transformation to test point   ***input***:x Microscope=100000.0 y Microscope=250000.0    forward transform   ***result***:x DICOM=8764.7 y DICOM=23528.1   backward transform   ***result***:x Microscope=100000.0 y Microscope=250000.0   End of test2]]></pre>為了更易于理解,以上由程序產(chǎn)生的文本的打印在下文再次用德語(盡可能地)再現(xiàn)<pre listing-type="program-listing"><![CDATA[  Affine Transformation vom nativen Mikroskop-zum DICOM Koordinatensystem  Koordinaten der Eichpunkte   E1:X-DICOM=3000.0 Y-DICOM= 10000.0 x-Mic= 41000.0 y-Mic=129400.0  E2:X-DICOM=3000.0 Y-DICOM= 30000.0 x-Mic= 43000.0 y-Mic=309400.0  E3:X-DICOM=3000.0 Y-DICOM= 50000.0 x-Mic= 45000.0 y-Mic=489400.0  E4:X-DICOM=17000.0 Y-DICOM= 10000.0 x-Mic= 181000.0 y-Mic=126600.0  E5:X-DICOM=17000.0 Y-DICOM= 30000.0 x-Mic= 183000.0 y-Mic=306600.0  E6:X-DICOM=17000.0 Y-DICOM= 50000.0 x-Mic= 185000.0 y-Mic=486600.0  Berechnungskoeffizienten für Hintransformation  X-DICOM=0.1000*x-Mic+-0.0011*y-Mic+-955.3433Y-DICOM=0.0022*x-Mic+0.1111*y-Mic+-4465.6743  Berechnungskoeffizienten für Rücktransformation  x-Mic=10.0000*X-DICOM+0.1000*Y-DICOM+10000.0000 y-Mic=-0.2000*X-DICOM+9.0000*Y-DICOM+40000.0000  Berechnungstests  Test1 unter Verwendung der Mikroskopkoordinaten des Eichpunktes E4 als Eingabe  ***Eingabe ***:x Microscope=181000.0 y Microscope=126600.0  ***Ergebnis ***:x DICOM=17000.0 y DICOM=10000.0  Ende des Test1  Test2 mit Hin-und Rücktransformation des Testpunktes  ***Eingabe***:xMicroscope=100000.0 y Microscope=250000.0  Hintransformation  ***Ergebnis***:x DICOM=8764.7 y DICOM=23528.1  Rücktransformtion  ***Ergebnis***:x Microscope=100000.0 y Microscope=250000.0 Ende des Test2]]></pre>
附圖標(biāo)記清單1 顯微鏡2 計算機單元3 校準(zhǔn)載物臺4 用于確定設(shè)備坐標(biāo)的單元5 顯微鏡臺6 載物臺7 物鏡8 顯微圖像9 載物臺上的校準(zhǔn)十字、校準(zhǔn)點10 監(jiān)視器11 攝像機12 (計算機-)鼠標(biāo)P 成像點φ 變換規(guī)則X,Y,Z 在DICOM坐標(biāo)系中的坐標(biāo),參考坐標(biāo)x,y,z 在顯微鏡系統(tǒng)中的坐標(biāo),設(shè)備坐標(biāo)E1,…,E6校準(zhǔn)十字,校準(zhǔn)點,參考點
權(quán)利要求
1.用于與設(shè)備無關(guān)地確定一用顯微鏡成像的點(P)的坐標(biāo)的方法,其中首先針對至少一個參考點(E1)在DICOM坐標(biāo)系中的與物體有關(guān)的預(yù)定參考坐標(biāo)(X1,Y1,Z1)確定至少一個被成像的參考點(E1)在與設(shè)備有關(guān)的坐標(biāo)系內(nèi)的所屬設(shè)備坐標(biāo)(x1,y1,z1),由此求出一個用于把與設(shè)備有關(guān)的坐標(biāo)(x,y,z)換算成DICOM坐標(biāo)系坐標(biāo)(X,Y,Z)的變換規(guī)則(φ),以及然后借助于被求出的變換規(guī)則(φ)把成像點(P)的設(shè)備坐標(biāo)(xP,yP,zP)換算成與設(shè)備無關(guān)的DICOM坐標(biāo)系坐標(biāo)(XP,YP,ZP),以進行與設(shè)備無關(guān)的坐標(biāo)確定。
2.權(quán)利要求1的方法,其特征在于采用一個校準(zhǔn)載物臺來預(yù)給定一個或多個參考點(E1)的參考坐標(biāo)(X1,Y1,Z1)。
3.權(quán)利要求2的方法,其特征在于為確定類型的載物臺分別制造和/或使用一個校準(zhǔn)載物臺。
4.權(quán)利要求1-3之一的方法,其特征在于尤其針對(x,y)坐標(biāo)采用超定的仿射變換來求取所述的變換規(guī)則。
5.權(quán)利要求1-4之一的方法,其特征在于尤其針對z坐標(biāo)采用求平均和/或斜平面形式的措施來求取所述的變換規(guī)則。
6.應(yīng)用于權(quán)利要求1-5之一的方法的校準(zhǔn)載物臺,其具有至少一個參考點(E1),該參考點具有預(yù)定的DICOM坐標(biāo)系參考坐標(biāo)(X1,Y1,Z1)。
7.權(quán)利要求6的校準(zhǔn)載物臺,其大小和形狀對應(yīng)于已知類型的載物臺。
8.權(quán)利要求6-7之一的校準(zhǔn)載物臺的用途,其被應(yīng)用于權(quán)利要求1-5之一所述的方法。
9.用于與設(shè)備無關(guān)地確定一用顯微鏡成像的點(P)的坐標(biāo)的系統(tǒng),其中所述的顯微鏡具有用于確定成像點(P)的設(shè)備坐標(biāo)(xP,yP,zP)的單元(4),并且設(shè)有一個計算機單元,該計算機單元根據(jù)至少一個被成像的參考點(E1)的設(shè)備坐標(biāo)(x1,y1,z1)和所屬的在DICOM坐標(biāo)系中的與物體有關(guān)的預(yù)定參考坐標(biāo)(X1,Y1,Z1)計算出一個用于把與設(shè)備有關(guān)的坐標(biāo)(x,y,z)換算成DICOM坐標(biāo)系坐標(biāo)(X,Y,Z)的變換規(guī)則(φ)。
10.權(quán)利要求9的系統(tǒng),其中所述的計算機單元被構(gòu)成使得借助于被求出的變換規(guī)則(φ)從成像點(P)的設(shè)備坐標(biāo)(xP,yP,zP)求出與設(shè)備無關(guān)的相應(yīng)DICOM坐標(biāo)系坐標(biāo)(XP,YP,ZP)。
11.具有程序編碼工具的計算機程序,當(dāng)該計算機程序在計算機或相應(yīng)的計算機單元上、尤其是在權(quán)利要求9所述系統(tǒng)的計算機單元上被執(zhí)行時,用于執(zhí)行權(quán)利要求1-5中至少一項所述的方法。
12.具有程序編碼工具的計算機程序產(chǎn)品,其被存儲在計算機可讀的數(shù)據(jù)載體上,當(dāng)該計算機程序產(chǎn)品在計算機或相應(yīng)的計算機單元上、尤其是在權(quán)利要求9所述系統(tǒng)的計算機單元上被執(zhí)行時,用于執(zhí)行權(quán)利要求1-5中至少一項所述的方法。
全文摘要
本發(fā)明涉及用于與設(shè)備無關(guān)地確定一用顯微鏡成像的點(P)的坐標(biāo)的方法和系統(tǒng),其中首先針對至少一個參考點(E
文檔編號G02B21/36GK1836185SQ200480022950
公開日2006年9月20日 申請日期2004年8月4日 優(yōu)先權(quán)日2003年8月11日
發(fā)明者B·施托克 申請人:萊卡微系統(tǒng)Cms有限責(zé)任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1