專利名稱:用于經(jīng)由網(wǎng)絡(luò)("DextroNet")的三維數(shù)據(jù)集的協(xié)作交互顯影的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及三維("3D")數(shù)據(jù)集的交互顯影,以及更具體地涉 及經(jīng)由網(wǎng)絡(luò)由多方使用多個平臺進(jìn)行一個或多個3D數(shù)據(jù)集的協(xié)作交 互顯影。
背景技術(shù):
傳統(tǒng)來說,通過將給出3D數(shù)據(jù)集(或由多個2D圖像生成的一個123D數(shù)據(jù)集)加載到專用工作站或計算機(jī)中,來完成3D數(shù)據(jù)集的三維
顯影。通常,單個用戶在單個專用工作站上交互地顯影3D數(shù)據(jù)集。例 如,這可以在由新加坡的Volume Interactions Pte公司制造的 Dextroscope 上完成。Dextroscope 是可以立體地顯示容積并允許用 戶進(jìn)行完全3D控制的高端真實交互顯影系統(tǒng)。也由新加坡的Volume Interactions Pte公司提供的DEX-Ray 系統(tǒng),是將實時視頻與共同配準(zhǔn) 的3D掃描數(shù)據(jù)組合的專用3D交互顯影系統(tǒng)。DEX-Ray 允許用戶-通常是外科醫(yī)師-來通過將從術(shù)前掃描數(shù)據(jù)分割出的虛擬對象與實時視 頻組合成為復(fù)合圖像來"看到"實際術(shù)野的"后面"。然而,當(dāng)使用 傳統(tǒng)甚至高端的諸如Dextroscope 或DEX-Ray 的交互3D顯影系統(tǒng) 時,即使有多個顯示系統(tǒng),以及很多人員可以通過站在實際用戶旁邊 來查看那些顯示, 一次也只能由僅僅一個用戶來控制顯影。由此,在 該系統(tǒng)中,在對由除了進(jìn)行控制的人員之外的任何人員檢查的3D數(shù)據(jù) 集進(jìn)行操縱的過程中,沒有真實的參與或協(xié)作。.
例如,DEX-Ray" 系統(tǒng)可以用于諸如神經(jīng)外科手術(shù)的復(fù)雜操作的 手術(shù)規(guī)劃。在該手術(shù)規(guī)劃中,如之前引用的Camera Probe申請所述, 神經(jīng)外科醫(yī)師和他的團(tuán)隊可以獲得術(shù)前掃描數(shù)據(jù),從該數(shù)據(jù)分割出感 興趣的對象,以及添加諸如手術(shù)期間要使用的進(jìn)路的規(guī)劃數(shù)據(jù)。另外, 如進(jìn)一步在Camera Probe中描述的,在給出3D數(shù)據(jù)集中的多個點可以 被設(shè)置為"標(biāo)記"。然后,貫穿手術(shù),可以跟蹤并連續(xù)地讀出(經(jīng)由 視覺或甚至聽覺信息提示)用戶的手持探測器的尖端相對于這些標(biāo)記 的位置。
此外,經(jīng)常期望在手術(shù)發(fā)生時具有來自手術(shù)部位的3D輸入。在該 場景中,例如可以通過附著跟蹤球來跟蹤一個或多個手術(shù)器械,以及 可以使用增強(qiáng)現(xiàn)實來更好地顯影外科醫(yī)師與患者之間的交互。因此, 如Camera Probe中所述, 一旦手術(shù)開始,可以生成并顯影實時數(shù)據(jù)與 虛擬對象的組合圖像。然而,通常情況是,外科醫(yī)師不在他操作(包 括改變指定為標(biāo)記的點)的時候動態(tài)地調(diào)整所顯示的虛擬對象。這是因為在操作同時他很少有時間來集中在優(yōu)化顯影上并由此利用3D顯 影系統(tǒng)的全部性能。使用DEX-RayTM型系統(tǒng)時,可以在手術(shù)之前指定一些感興趣的虛 擬對象,諸如腫瘤附近或腫瘤自身的關(guān)鍵神經(jīng),并且可以在手術(shù)期間 顯示那些對象。標(biāo)記點的情況也是如此。如上指出,Camera Probe描 述還可以如何指定定義數(shù)量的標(biāo)記點,以及如何貫穿手術(shù)過程來跟蹤 探測器尖端到那些對象的動態(tài)距離。雖然理論上外科醫(yī)師可以在手術(shù) 期間調(diào)節(jié)標(biāo)記點,他們通常不這么做,因為外科醫(yī)師忙于實際手術(shù)且 具有很少時間來放下工作來優(yōu)化增.強(qiáng)現(xiàn)實參數(shù)。外科醫(yī)師通常不在手術(shù)期間與虛擬數(shù)據(jù)交互還有其他原因。首先, 多數(shù)導(dǎo)航系統(tǒng)界面使得現(xiàn)場交互太麻煩。第二,導(dǎo)航系統(tǒng)界面是非無 菌(non-sterile)的,所以外科醫(yī)師將需要通過指示護(hù)士或技師來執(zhí)行 調(diào)節(jié)。在DEX-RayTM系統(tǒng)中,雖然通過僅僅移動探測器經(jīng)過空氣來修 改顯影是可行的(如Camera Probe中所述),從而外科醫(yī)師可以在保 持無菌的同時直接修改顯示參數(shù),但是經(jīng)常更便利的是無需在操作的 同時修改顯影環(huán)境。在任何情況下,專用專家(dedicated specialist)可 以協(xié)助他們進(jìn)行該顯影,以便這些顯影看起來最完善。類似地,甚至當(dāng)使用標(biāo)準(zhǔn)的3D交互顯影系統(tǒng)諸如Dextmscope 以供外科協(xié)助、引導(dǎo)或規(guī)劃時,經(jīng)常難以在一個物理場所內(nèi)協(xié)調(diào)所有 感興趣人員。有時候,例如,外科醫(yī)師涉入難以完全地預(yù)規(guī)劃的復(fù)雜 手術(shù),諸如共享某個腦結(jié)構(gòu)的連體嬰的分離。在該手術(shù)中,幾乎必需 在實際(以及漫長)的手術(shù)期間連續(xù)地參考術(shù)前掃描,以及根據(jù)當(dāng)實 際暴露腦時所看到的來咨詢團(tuán)隊成員或甚至其他專家。雖然術(shù)前掃描 數(shù)據(jù)的交互3D顯影經(jīng)常是用來分析手術(shù)的最佳方式,但是即使所有相 關(guān)方處于一個物理場所中,手術(shù)團(tuán)隊也難以聚集圍繞在該系統(tǒng)的顯示 器周圍。此外,情況越復(fù)雜,團(tuán)隊相距地理距離越大,則術(shù)前咨詢數(shù) 據(jù)顯影的益處就越難。最終,如果兩個遠(yuǎn)程方期望討論交互3D數(shù)據(jù)集顯影系統(tǒng)的使用或 使用技術(shù),諸如其中一個指示另一個進(jìn)行該使用時,兩方都需要能夠同時地查看3D數(shù)據(jù)集和對方的操縱。由此本領(lǐng)域中需要允許多個遠(yuǎn)程方來在3D交互顯影系統(tǒng)中同時 地對3D數(shù)據(jù)集進(jìn)行操作就像這些遠(yuǎn)程方實體到場(physically present)一樣。發(fā)明內(nèi)容提供例示系統(tǒng)和方法,利用這些例示系統(tǒng)和方法,遠(yuǎn)程物理場所 內(nèi)的多個人員可以基本上同時地協(xié)作交互地顯影3D數(shù)據(jù)集。在本發(fā)明 的例示實施例中,例如可以有經(jīng)由數(shù)據(jù)網(wǎng)絡(luò)連接的主工作站以及一個 或多個遠(yuǎn)程工作站。給出主工作站可以例如是增強(qiáng)現(xiàn)實手術(shù)導(dǎo)航系統(tǒng) 或3D顯影系統(tǒng),以及每個工作站可以加載相同的3D數(shù)據(jù)集。另外, 給出工作站可以將實時成像與之前獲得的3D數(shù)據(jù)進(jìn)行組合,諸如實時 或預(yù)記錄的視頻,或諸如由管理的3D超聲顯影系統(tǒng)提供的信息。在遠(yuǎn) 程工作站處的用戶可以執(zhí)行給出的診斷或治療程序(procedure),例 如手術(shù)導(dǎo)航或熒光透視檢査,或可以從主工作站處的另一用戶接收指 令,在該主工作站處,使用共有保存的3D數(shù)據(jù)集來示出講稿(lecture)。 在主工作站處的用戶可以例如看到由每個遠(yuǎn)程用戶使用的虛擬工具以 及它們的運動,以及每個遠(yuǎn)程用戶可以例如看到主用戶的虛擬工具以 及它對于遠(yuǎn)程工作站處的數(shù)據(jù)集的相應(yīng)效果。例如,遠(yuǎn)程工作站可以 采用就像主工作站的虛擬工具是與該遠(yuǎn)程工作站相關(guān)聯(lián)的探測器的方 式,經(jīng)由所述本地機(jī)器的虛擬控制面板,顯示對所述遠(yuǎn)程工作站處的 3D數(shù)據(jù)集進(jìn)行操作的主工作站的虛擬工具。在本發(fā)明的例示實施例中, 每個用戶的虛擬工具可以利用他們的IP地址、不同顏色和/或其他區(qū)分 標(biāo)志(designation)來表示。在本發(fā)明的例示實施例中,數(shù)據(jù)網(wǎng)絡(luò)可以 是低帶寬或高帶寬。在低帶寬實施例中,3D數(shù)據(jù)集可以被預(yù)加載到每 個用戶的工作站上,并且經(jīng)由網(wǎng)絡(luò)僅僅發(fā)送主用戶的虛擬工具的運動和數(shù)據(jù)集的操縱。在高帶寬實施例中,例如,諸如視頻、超聲或熒光 透視圖像的實時圖像也可以經(jīng)由網(wǎng)絡(luò)來發(fā)送。
圖1示出根據(jù)本發(fā)明例示實施例的用于例示教師型工作站的例示 程序流程;
圖2是根據(jù)本發(fā)明例示實施例的跨網(wǎng)絡(luò)連接的多個例示工作站的 系統(tǒng)級圖示;
圖3示出根據(jù)本發(fā)明例示實施例的例示學(xué)生工作站的例示程序流
程;
圖4示出根據(jù)本發(fā)明例示實施例的例示外科醫(yī)師工作站的例示程 序流程;
圖5示出根據(jù)本發(fā)明例示實施例的例示顯影助手工作站的例示程 序流程;
圖6示出根據(jù)本發(fā)明例示實施例的例示的外科醫(yī)師的標(biāo)準(zhǔn)(脫開
(disengaged))視圖;
圖7示出根據(jù)本發(fā)明例示實施例的例示的外科醫(yī)師的涉入
(engaged)視圖;以及
圖8示出根據(jù)本發(fā)明例示實施例的的例示的顯影助手的視圖; 圖9示出根據(jù)本發(fā)明例示實施例的例示的教師-學(xué)生范例架構(gòu); 圖10 (a) - (e)示出根據(jù)本發(fā)明例示實施例的經(jīng)由例示DextroNet 連接的教師和兩個學(xué)生的例示視圖11-13放大和順序地示出圖10 (a) - (c); 圖14 (a) - (c)示出鎖定(lock-on)模式下由圖10的例示教師 和兩個學(xué)生看到的3D數(shù)據(jù)集的例示視圖15-17放大和順序地示出圖14 (a) - (c)的視圖; 圖18 (a) - (c)分別示出圖14 (a) - (c)的3D數(shù)據(jù)集的例示視 圖,其中,教師進(jìn)行測量,并且學(xué)生1已經(jīng)切換到脫開視圖模式; 圖19-21放大和順序地示出圖18 (a) - (c)的視圖; 圖22 (a) - (c)分別示出在教授移動了他的筆之后的圖18 (a)-(C)的例示視圖23-25放大和順序地示出圖22 (a) - (c)的視圖26-30示出根據(jù)本發(fā)明例示實施例的從教師觀點看的例示順序
步驟,其中,兩個學(xué)生參加聯(lián)網(wǎng)會話;
圖31示出根據(jù)本發(fā)明例示實施例的顯影助手的兩個例示視圖32-33放大和順序地示出圖31的兩個視圖34示出根據(jù)本發(fā)明例示實施例的對應(yīng)于圖31的顯影助手視圖 的例示的外科醫(yī)師的視圖35分別示出根據(jù)本發(fā)明例示實施例的當(dāng)顯影助手和外科醫(yī)師都 定位例示化身對象上的給出點時的該兩方的視圖36-37分別放大和順序地示出圖35的視圖38示出根據(jù)本發(fā)明例示實施例的例示顯影助手協(xié)助外科醫(yī)師來 定位例示對象上的點;
圖39-40分別放大和順序地示出圖38的視圖41示出根據(jù)本發(fā)明例示實施例的協(xié)作定位例示對象上的點的助 手和外科醫(yī)師的每一個的另外例示視圖42-43分別放大和順序地示出圖41的視圖44示出例示熒光透視圖像;
圖45示出例示的介入心臟病專家的視圖46示出根據(jù)本發(fā)明例示實施例的對應(yīng)于圖45的例示顯影助手 的視圖47示出根據(jù)本發(fā)明例示實施例的由圖46的例示顯影助手生成 的例示畫中畫圖像;
圖48示出根據(jù)本發(fā)明例示實施例的圖46-47的顯影助手的其他例 示3D視圖49示出根據(jù)本發(fā)明例示實施例的備選的例示介入心臟病專家的
視圖50示出根據(jù)本發(fā)明例示實施例的例示角色切換處理的例示第一
階段;
圖51示出根據(jù)本發(fā)明例示實施例的例示角色切換處理的例示第二階段;圖52示出根據(jù)本發(fā)明例示實施例的例示角色切換處理的例示第三 和最終階段;圖53 (a)和(b)示出根據(jù)本發(fā)明例示實施例在例示教師(或主用戶)系統(tǒng)上的例示數(shù)據(jù)發(fā)送隊列;圖54示出根據(jù)本發(fā)明例示實施例的例示消息更新格式;圖55 (a) - (c)示出根據(jù)本發(fā)明例示實施例使用圖54的例示消息格式的用于例示控制面板、窗口小部件(widget)和工具的例示更新消息;圖56示出根據(jù)本發(fā)明例示實施例使用圖54的例示消息格式的關(guān)于文件傳輸?shù)睦鞠?;圖57示出根據(jù)本發(fā)明例示實施例的備選例示消息更新格式;以及 圖58 (a)和(b)示出根據(jù)本發(fā)明例示實施例使用圖54的例示消息格式的例示文件傳輸消息。
具體實施方式
1.概述在本發(fā)明的例示實施例中,可以經(jīng)由數(shù)據(jù)網(wǎng)絡(luò)連接多種類型的3D 交互顯影系統(tǒng),以便彼此遠(yuǎn)離的人員可以為了多種目的而基本同時地 對相同的3D數(shù)據(jù)集進(jìn)行操作。在本發(fā)明的例示實施例中,兩個或多個 人員可以位于彼此遠(yuǎn)離并且可以將給出的3D數(shù)據(jù)集加載到他們的工 作站上。通常,該例示實施例預(yù)期"主用戶"以及一個或多個"遠(yuǎn)程 用戶"。參與者可以是例如手術(shù)規(guī)劃工程的合作者,例如規(guī)劃連體嬰 分離的醫(yī)生團(tuán)隊,或他們可以是例如教師或講演者(lecturer)或一組 學(xué)生或在場者(attendee)。另外,例如,參與者可以包括(i)使用 手術(shù)導(dǎo)航系統(tǒng)(諸如Dex-RayTM系統(tǒng))或一些其他診斷或治療系統(tǒng)(諸 如Cathlab機(jī)器、被管理的超聲系統(tǒng)等)對患者執(zhí)行或進(jìn)行診斷或治療 程序的外科醫(yī)師或其他臨床醫(yī)師;以及(ii)顯影專家,隨著外科醫(yī)師 或臨床醫(yī)師的推進(jìn),從一些遠(yuǎn)程位置動態(tài)地修改并顯影相關(guān)3D數(shù)據(jù)集 中的虛擬對象,而不負(fù)擔(dān)治療或手術(shù)室的物理限制?;蛘?,在各式各樣的教育、專業(yè)、檢查或客戶支持環(huán)境中,參與者可以包括教師以及 一個或多個學(xué)生。在下面,本發(fā)明將使用多個可能的范例或例示使用 來描述,本發(fā)明不由這些例示使用的任何一個來限制。要知道,本發(fā) 明的功能可以應(yīng)用于廣泛多種應(yīng)用,其中期望或使用3D數(shù)據(jù)集的精細(xì)(sophisticated)顯影的研究或多種類型的協(xié)作。為了便于描述,本發(fā)明的多個例示實施例有時候?qū)⒈环Q為 "DextroNet" , "DextroNet"是結(jié)合這多個實施例由這里的受讓人使 用的預(yù)期商標(biāo)。A. DextroscopeTM到DextroscopeTM型交互在本發(fā)明的例示實施例中,DextroNet可以例如用于遠(yuǎn)程客戶訓(xùn)練 或技術(shù)支持,或3D交互顯影系統(tǒng)的制造商與其客戶之間的遠(yuǎn)程咨詢。 例如,DextroNet可以由3D交互顯影系統(tǒng)的制造商用來提供遠(yuǎn)程隨選 (on-demand)技術(shù)支持服務(wù)到其客戶。在該使用中,例如,任何時候 客戶具有關(guān)于由該制造商提供的給出3D交互顯影系統(tǒng)的使用的問題 時,都可以與培訓(xùn)中心連接。 一旦連接,則遠(yuǎn)程培訓(xùn)技師可以例如向 客戶示出如何使用給出工具,該給出工具諸如在DextroscopeTM上的輪 廓編輯器。為了避免要求客戶發(fā)送他的整個數(shù)據(jù)集(具有患者隱私以 及傳輸數(shù)據(jù)時浪費時間的潛在問題),可以在標(biāo)準(zhǔn)數(shù)據(jù)集上執(zhí)行該例 示培訓(xùn),該標(biāo)準(zhǔn)數(shù)據(jù)集由雙方在遠(yuǎn)程培訓(xùn)會話開始時加載。可以提供 給探索DextroNet的使用的客戶的另一服務(wù)可以例如包括為離線客戶 準(zhǔn)備(分割)患者數(shù)據(jù)。例如,在醫(yī)療環(huán)境中,客戶可以ftp與一個或 多個感興趣的患者或病例相關(guān)聯(lián)的數(shù)據(jù),以及"放射服務(wù)"部可以分 割該數(shù)據(jù)并將其發(fā)送回客戶。與該服務(wù)連接,根據(jù)本發(fā)明的例示實施 例,可以提供做了什么或甚至關(guān)于客戶正在處理的實際患者數(shù)據(jù)的遠(yuǎn) 程培訓(xùn)的在線示范。在本發(fā)明的例示實施例中,還可以支持遠(yuǎn)程咨詢。在該實施例中, Jt承R外科崔師和放射學(xué)家、成像技師、咨詢醫(yī)師的專家團(tuán)隊可以都經(jīng)由DextroNet遠(yuǎn)程地討論病例、病例中采用的多種可能手術(shù)進(jìn)路以及類 似的問題。例如,放射學(xué)家可以提供他的視圖,脈管神經(jīng)外科醫(yī)師可 以提供他的視圖,以及顱面專家又可以提供他的視圖,全部參考以及 虛擬地在由病例的掃描數(shù)據(jù)生成的給出3D數(shù)據(jù)集中"指向"多個容積 對象。
B. Dextrosocpe 到DEX-Ray 型交互
如在Camera Probe中所述,可以使用DEX-Ray系統(tǒng)作為手術(shù)導(dǎo)航 設(shè)備。該設(shè)備可以經(jīng)由DextroNet連接到標(biāo)準(zhǔn)交互3D顯示系統(tǒng)。由此, 在本發(fā)明的例示實施例中,可以"外包"3D數(shù)據(jù)操縱性能來去除由外 科醫(yī)師的無菌場(sterile field)施加的約束。例如,當(dāng)外科醫(yī)師具有患 者顱骨內(nèi)的DEX-RayTM型探測器時,他通常不能控制手術(shù)導(dǎo)航系統(tǒng)的 界面,除非他開始向基本計算機(jī)附近的某些人員叫喊出命令。當(dāng)然, 那樣也是不期望的,因為該計算機(jī)通常完全忙于控制探測器和繪制圖 像/視頻。
利用患者顱骨內(nèi)的探測器,外科醫(yī)師嘗試在患者腦周圍找到他的 路徑(也就是指向不同區(qū)域,并且不能指向他還未切開的超出組織), 外科醫(yī)師需要幫助來檢查其他成像模態(tài)、其他分割結(jié)構(gòu)(腫瘤、脈管、 神經(jīng)(諸如經(jīng)由擴(kuò)散張量成像))而不太多改變探測器的位置。在該 場景中,外科醫(yī)師可以利用探測器來指向,并且還可以談話/聽,但是 不能提供太頻繁地移入和移出顱骨。在這種情況下,有用的是,由另 一個外科醫(yī)師(或具有技術(shù)專業(yè)知識的助手)幫助來提供不同的顯影。 這些不同顯影可以例如示出外科醫(yī)師最接近哪些脈管、哪些神經(jīng)圍繞 腫瘤等。該"顯影助手"可以經(jīng)由DextroNet被連接到外科醫(yī)師的導(dǎo)航 系統(tǒng)。
C. DextrosMpe 到Cathlab 型交互
或者,在本發(fā)明的例示實施例中,類似于DeXRayTM到 Dextrosc叩eTM交互的范例可以例如使用X射線熒光透視顯示的形式的在線信息。這里,遠(yuǎn)程助手可以例如幫助調(diào)節(jié)在基本實時的X射線視
圖(2D投影)以及由個體的之前掃描生成的3D視圖(來自例如心臟 的CT或MR掃描)之間的共同配準(zhǔn)。因為以X射線不能看到脈管, 要求介入心臟病專家來注射造影劑以使得脈管幾秒內(nèi)不透明以被看 到。對于腎有問題的患者不注射造影劑,以及在任何情況下,為了患 者(為了健康以及醫(yī)院帳單考慮)都使得造影劑最少。因此,顯影助 手可以使用造影劑流的幾秒來將患者的X射線視圖與例如術(shù)前CT同 步。該信息可以例如作為X射線視圖上方的增強(qiáng)虛擬對象來呈現(xiàn),該 信息例如可以在X射線視圖附近的另一監(jiān)視器中顯示。例如,心臟可 以在X射線視圖中跳動,以及CT可以與之一起跳動,或僅僅示出凍 結(jié)瞬間,該凍結(jié)瞬間可以幫助引導(dǎo)心臟病專家來利用導(dǎo)管順著(follow) 正確的脈管。在本發(fā)明的例示實施例中,可以假設(shè)僅僅一個人員控制 影響3D數(shù)據(jù)的交互("主用戶"),以及假設(shè)經(jīng)由DextroNet連接的 其他參與者("遠(yuǎn)程用戶")可以查看那些影響但不能改變數(shù)據(jù)自身, 而不是僅僅能查看他們自身的數(shù)據(jù)視點。另外,在該例示實施例中, DextroNet可以例如經(jīng)由網(wǎng)絡(luò)僅僅發(fā)送主用戶的3D交互細(xì)節(jié),然后使 得那些交互在每個遠(yuǎn)程工作站或系統(tǒng)處被執(zhí)行。這與傳統(tǒng)的系統(tǒng)形成 對比,其中, 一個用戶發(fā)送關(guān)于他的交互的數(shù)據(jù)到遠(yuǎn)程服務(wù)器,然后
該遠(yuǎn)程服務(wù)器進(jìn)行計算并發(fā)送回最終的計算圖像,而不向遠(yuǎn)程觀眾示 出生成3D數(shù)據(jù)的最終圖像的步驟或操作的序列。
這些傳統(tǒng)的解決方案,諸如SGI的VizServerTM僅僅提供單向網(wǎng)絡(luò)。 在本發(fā)明的例示實施例中,DextroNet可以是多向網(wǎng)絡(luò)。諸如 VizServerTM的方案依賴于用戶僅僅需要來自給出3D場景的最終投影 的假設(shè)。如果僅僅需要投影(或甚至諸如一對立體投影),則遠(yuǎn)程計 算機(jī)可以計算(繪制)圖像并將得到的像素發(fā)送到客戶,然后客戶看 到不能與他通過本地繪制獲得的圖像區(qū)別開的圖像。用戶可以移動光 標(biāo)來導(dǎo)致旋轉(zhuǎn)操作,并且可以將該命令發(fā)送到遠(yuǎn)程服務(wù)器,可以旋轉(zhuǎn) 3D模型,該模型可以被再次繪制,以及將圖像發(fā)送到客戶機(jī)以供查看。 然而,因為不具有相對于探測器關(guān)于模型的深度信息,所以該傳統(tǒng)方
21案不允許其他用戶將他們自身的3D交互設(shè)備(諸如探測器、指示筆等)
插入到3D模型中。因為所有可得到的是來自一個用戶的視點的像素,
所以該傳統(tǒng)方案還不允許客戶機(jī)生成可分離的視點(下面將描述)。
此外,該方案不能夠向遠(yuǎn)程用戶準(zhǔn)確示出采用什么步驟來獲得最 終繪制。如果他對于實際學(xué)習(xí)這些交互命令序列感興趣,則他不能學(xué) 習(xí)。形成對比的是,在本發(fā)明的例示實施例中,可以在每個工作站處 (諸如在教師和學(xué)生的相應(yīng)站處,或在顯影助手和外科醫(yī)師的相應(yīng)站
處,或在顯影助手和其他診斷醫(yī)生或?qū)τ谖锢砘颊?physical patient) 執(zhí)行手術(shù)的治療學(xué)家的相應(yīng)站處)得到3D模型,然后可以將該3D模 型與用戶的3D (也就是工具和其他對象)組合,以及然后使得每個站 可以執(zhí)行其自身的繪制。
為了遠(yuǎn)程地影響數(shù)據(jù),在本發(fā)明的例示實施例中,主用戶的指示 筆的3D交互可以被布置為諸如與遠(yuǎn)程用戶的(遠(yuǎn)程)虛擬控制面板進(jìn) 行交互。在該例示實施例中,該控制面板交互不需要轉(zhuǎn)化為遠(yuǎn)程機(jī)器 上的系統(tǒng)命令,諸如"按下切割按鈕"或"將電子變焦滑塊滑動到2.0" 等。而是,在該例示實施例中,諸如通過在遠(yuǎn)程用戶的機(jī)器上顯示主 用戶的工具的圖像,在遠(yuǎn)程用戶的世界中,給出的主用戶的操作可以 作為主用戶的工具正被操縱的結(jié)果而呈現(xiàn)為在遠(yuǎn)程用戶的機(jī)器上正被 實現(xiàn)。在遠(yuǎn)程用戶側(cè),當(dāng)主用戶的工具出現(xiàn)在遠(yuǎn)程用戶的虛擬控制面 板上的按鈕上方的位置并且其狀態(tài)為諸如"開始動作"(工具的四個 例示基本狀態(tài)之一)時,則然后可以按下按鈕而無需特定的命令。以 這種方式,在主用戶側(cè)或遠(yuǎn)程用戶側(cè),遠(yuǎn)程工具可以采用與本地工具 相同的原理來工作。由此,與使用額外系統(tǒng)命令來實現(xiàn)主用戶的機(jī)器 處激起的操縱(或使用傳統(tǒng)的VizServerTM方案)相比,這可以獲得更 無縫的集成。不使用系統(tǒng)級命令的理由是,避免在遠(yuǎn)程用戶側(cè)的不一 致視圖。如果例如與遠(yuǎn)程用戶側(cè)上的虛擬控制面板的指示筆交互是不 一致的,則雖然工具依然可以經(jīng)由系統(tǒng)命令作用,但是當(dāng)遠(yuǎn)程用戶在 作用或操作"B"發(fā)生的同時如果看到工具在按鈕"A"上方會困惑。如果工具位置等的顯示可以被同步,如上所述,則無需額外系統(tǒng)命令, 以及工具將照顧自身。
注意到,虛擬控制面板的校準(zhǔn)可以在不同平臺上的用戶之間變化。
這是因為可以有能夠經(jīng)由例示DextroNet連接的多個3D顯影系統(tǒng)的多 個硬件和軟件配置。例如,為了示出由這里的受讓人Volume Interactions Pte公司提供的多個系統(tǒng),DextroBeam 因為沒有鏡而不具有"反射的" 校準(zhǔn),而DextroLApTM系統(tǒng)使用鼠標(biāo)而不使用3D跟蹤器。因此,在本 發(fā)明的例示實施例中,主用戶的3D校準(zhǔn)可以被發(fā)送到所有連接的遠(yuǎn)程 用戶,這些所有連接的遠(yuǎn)程用戶通??梢越?jīng)由不同制造和模型的多種 3D交互顯影系統(tǒng)平臺來連接。該校準(zhǔn)發(fā)送可以確保,例如,由主用戶 執(zhí)行的3D交互在正確時間撞擊到遠(yuǎn)程用戶的正確按鈕上。因此,當(dāng)連 接到DextroNet時,協(xié)議(protocol)可以例如導(dǎo)致遠(yuǎn)程用戶側(cè)上的控 制面板與主用戶側(cè)上相同(關(guān)于位置、取向、尺寸等),以便主用戶 在他的控制面板上的操作可以在多個遠(yuǎn)程用戶的機(jī)器上被復(fù)制。
當(dāng)主工作站與遠(yuǎn)程工作站同步界面和視點時,主工作站能夠例如 將其控制面板的參數(shù),如下結(jié)合圖55 (a)所述,以及所顯示對象的位 置和取向,如下結(jié)合圖55 (b)所述,發(fā)送到遠(yuǎn)程工作站。由此,當(dāng)遠(yuǎn) 程工作站接收到這些參數(shù)時,其能夠例如使用該信息來更新其自身的 控制面板并本地地顯示對象。 一旦已經(jīng)完成該處理,則例如可以使用 主用戶的工具來操縱遠(yuǎn)程控制面板,以及主用戶和(多個)遠(yuǎn)程用戶 的初始視點可以相同。
在本申請中描述了多個例示范例。注意到,為了節(jié)約詞匯,可以 結(jié)合"教師-學(xué)生"范例來詳細(xì)描述特征,這些特征也可以應(yīng)用于"外 科醫(yī)師-顯影助手"范例,反之依然,以及不被重復(fù)描述。要知道,"外 科醫(yī)師-顯影助手"范例與"教師-學(xué)生"范例相同地作用,后者將每個 都被共同配準(zhǔn)的記錄的或?qū)崟r視頻、實時成像(例如熒光透視、超聲 等)或?qū)崟r器械位置信息添加到3D數(shù)據(jù)集中。D. DextroNet教育(教師-學(xué)生)范例
在本發(fā)明的例示實施例中,可以在教育上使用DextroNet連接。例 如,可以使用DextroNet來指示學(xué)生進(jìn)行外科手術(shù)和規(guī)劃,或例如,諸 如Dextrosc叩eTM的交互3D顯影系統(tǒng)的使用。此外,可以使用例示 DextroNet以供解剖指示。例如,可以使用該實現(xiàn)來讓學(xué)生熟悉身體的 特別復(fù)雜的解剖區(qū)域。此外,例示DextroNet還可以被使用以供病理指 示,以及可以由此被用作輔助教育工具以供尸檢(當(dāng)患者可能已在手 術(shù)期間死亡時尤其有用,以及可得到該患者的術(shù)前規(guī)劃和掃描數(shù)據(jù))。
在本發(fā)明的例示實施例中,熟悉Dextroscope 、 DextroBeam 或 DEX-RayTM系統(tǒng)或它們的等效的講師(可以是諸如醫(yī)生、外科醫(yī)師或 其他專家)可以諸如經(jīng)由DextroNet指導(dǎo)至少一個遠(yuǎn)程位置的學(xué)生。學(xué) 生可以具有與講師相同的面對3D模型的視點,或例如可以具有不同的 視點。例如,學(xué)生可以具有采用講師視點的一個顯示(或顯示窗), 或采用不同視點的另一顯示(或顯示窗)。或者,例如,學(xué)生或講師 可以在不同的視點之間轉(zhuǎn)換。這可以例如就像具有畫中畫,其中,一 幅圖片是遠(yuǎn)程視點,而另一圖片是本地圖片,類似于視頻會議操作的 方式。在該例示實施例中,兩幅圖片可以都在本地工作站處生成(一 幅具有本地參數(shù),而另一幅具有遠(yuǎn)程參數(shù)),或例如,遠(yuǎn)程圖片可以 被遠(yuǎn)程繪制,并以類似于VizServerTM方案的方式來發(fā)送(僅僅發(fā)送最 終像素而不發(fā)送交互步驟)。由此,給出用戶可以準(zhǔn)確看到遠(yuǎn)程用戶 所看到的,消除了所有疑惑諸如"你看到的是否是我所看到的?"
為了描述便利,在該教育實施例中的參與者將被稱為"教師"或 "講師"(主用戶)和"學(xué)生"(遠(yuǎn)程用戶)。例示的教師-學(xué)生范例 接著將結(jié)合圖l和圖3進(jìn)行描述。
在本發(fā)明的例示實施例中,教師可能例如不能夠看到學(xué)生的實時 視像,但是可以通過教師世界中顯示的學(xué)生工具的指示方向來被告知學(xué)生正看到什么(其可以暗示學(xué)生的感興趣區(qū)域)。雖然一個人 員不能根據(jù)遠(yuǎn)程指示筆的外觀來準(zhǔn)確"知道"遠(yuǎn)程站的視點,但是他 可以根據(jù)已知或假設(shè)的事實來推斷關(guān)于其位置的一些情況。例如,指 示筆由使用右手的人員用來指示向前等。
該例示場景被設(shè)計為允許教師能夠指導(dǎo)多個學(xué)生。由此,教師不 需要被打斷除非學(xué)生利用語音或其他信號提出問題。然后,基于該提 問學(xué)生的需求,例示教師可以例如旋轉(zhuǎn)給出對象并容易地將他的視點 與學(xué)生的視點對齊,因為他能夠充分確定學(xué)生從該學(xué)生的工具的方向 如何查看對象?;蛘?,教師和學(xué)生可以顛倒他們的角色,顛倒角色在 本發(fā)明的例示實施例中可以例如通過如下所述的("角色切換")一 對按鈕點擊來容易地完成。要注意,在本發(fā)明的例示實施例中,在教 師-學(xué)生范例中,學(xué)生例如除了某些操作不能本地地操縱對象,這某些 操作不改變屬于特定對象的體素或多個體素,這些操作諸如包括平移、 旋轉(zhuǎn)和/或指向?qū)ο蠡驅(qū)ο箅娮幼兘?改變其放大倍率)的操作。這 通常需要防止沖突的指令或與3D數(shù)據(jù)集的交互。
通常,遠(yuǎn)程用戶(諸如學(xué)生、外科醫(yī)師或不擔(dān)當(dāng)教師的顯影助手) 可以實踐的本地控制經(jīng)常是受限的。這是因為,通常,對于數(shù)據(jù)集的 教師(或顯影助手)的操縱在每個學(xué)生(或外科醫(yī)師)的機(jī)器上本地 地實現(xiàn),如上所述,也就是主用戶的交互跨網(wǎng)絡(luò)發(fā)送并被本地地實現(xiàn)。 主用戶由此控制遠(yuǎn)程用戶的(本地)機(jī)器。在該例示實施例中,如果 允許學(xué)生以教師的操縱不再有意義的方式來改變他或她的數(shù)據(jù)集的本
地副本,則會有混亂。例如,在標(biāo)準(zhǔn)的Dextrosc(DpeTM上,用戶具有對 于3D數(shù)據(jù)集中的對象的分割的完全控制。他可以通過改變例如對象的 顏色査找表來改變該分割?;蛘?,他可以不管分割而是僅僅改變與已 經(jīng)被分割的對象相關(guān)聯(lián)的顏色或透明度。雖然該后種操作不會改變對 象的原始內(nèi)容,但是該操作能夠改變其顯影參數(shù)。
還要注意,通常在DextroscopeTM型系統(tǒng)以及交互3D數(shù)據(jù)集顯影系統(tǒng)中具有很多工具和操作,其基于關(guān)于正被操縱的對象的尺寸的某 些假設(shè)來操作。例如,具有指示工具,該指示工具通過將射線從工具 尖端投射到最近的對象表面來操作。如果對象的表面已經(jīng)因為本地用 戶改變了對象的分割而更接近該指示工具或更遠(yuǎn)離該指示工具,當(dāng)教 師拾取他的指示工具并指向?qū)ο螅?dāng)在學(xué)生的屏幕上實現(xiàn)時,該指示 工具可能觸摸完全不同的對象。實際上,在學(xué)生的機(jī)器上,可以經(jīng)歷 在教師的機(jī)器上的東西,對象表面。通常,鉆孔工具、拾取工具、輪 廓提取工具、等值面生成工具和多種其他工具可以類似地取決于他們 正進(jìn)行操作的對象的尺寸。因此,如注意到的,在本發(fā)明的例示實施 例中,學(xué)生的本地控制面板可以被交由教師來控制。在該例示實施例 中,學(xué)生所能做的就是從教師的視點脫開按照他期望的來旋轉(zhuǎn)、平移、 放大(電子變焦)對象或調(diào)節(jié)對象的顏色或透明度(而不是尺寸)。 因此,可以保持教師與每個對象之間的關(guān)系。注意到,總有給予學(xué)生 多少本地控制的問題。在本發(fā)明的例示實施例中,該問題通??梢酝?過允許不改變實際數(shù)據(jù)集的任何本地動作來解決。
雖然如此,但是,在本發(fā)明的例示實施例中,可以通過允許本地 用戶來執(zhí)行接著將顯示效果的"實際上"不影響他的本地數(shù)據(jù)而是在
本地數(shù)據(jù)副本上作用的操作,同時主用戶的操作以"重影(ghosted)"
方式顯示,從而增加復(fù)雜度。
例如,教師可以向一個或多個學(xué)生示出如何使用多種工具來進(jìn)行
3D數(shù)據(jù)集中的對象之間的多種測量。教師可以進(jìn)行測量,而這些測量
將被學(xué)生看到。然而,教師還可能期望測試學(xué)生進(jìn)行類似測量的能力, 以及可能要求學(xué)生來運用他剛指導(dǎo)的東西,以及要求學(xué)生來進(jìn)行教師 還沒做出的另外測量。學(xué)生可以例如執(zhí)行那些測量,以及那些測量可 以例如被顯示在他的機(jī)器上。然后,教師可以諸如取得學(xué)生機(jī)器的快 照并評估學(xué)生的能力。以類似方式,可以允許學(xué)生操縱可以顯示在他 的顯示器上的數(shù)據(jù)集,在學(xué)生的顯示器中,還可以"重影"方式示出 "真實"數(shù)據(jù)集及其由教師執(zhí)行的"真實"操縱。以這種方式,教師的所有操縱可以在對象的重影邊界上操作,如在學(xué)生的機(jī)器上所顯示 的,以及可以在學(xué)生的機(jī)器上以實體方式顯示學(xué)生的本地操作到所需 程度(也就是學(xué)生的本地操作意圖影響到3D數(shù)據(jù)集的程度)。由此, 可以允許學(xué)生來執(zhí)行例如除了上述的平移、旋轉(zhuǎn)、指示和/或電子變焦 等的其他操縱,但是這些其他操縱都以較大復(fù)雜度以及附加本地處理 為代價。
注意到,上述例示實施例要求學(xué)生在進(jìn)入該"增強(qiáng)"脫開模式時
創(chuàng)建整個數(shù)據(jù)集(包括3D對象以及控制面板)的副本。在那些情況下,
學(xué)生可以例如對本地(副本)數(shù)據(jù)集進(jìn)行操作,而教師可以在原始數(shù) 據(jù)集上操作,該原始數(shù)據(jù)集以重影方式顯示在遠(yuǎn)程用戶或?qū)W生的機(jī)器 上。由此,兩個獨立的圖形處理可以例如并行地在相同(學(xué)生)的工
作站上操作。如果教師要看到由學(xué)生開發(fā)(developed)的新的進(jìn)路, 他可以取得學(xué)生視圖的快照并且與學(xué)生就該新進(jìn)路進(jìn)行討論。
在本發(fā)明的例示實施例中,使用角色切換,其中,教師角色由此 可以被從參與者傳送到另一個參與者,學(xué)生可以從教師接管控制。他 可以例如繼續(xù)教師對于對象的工作或通過示出如何執(zhí)行操作或其他程 序來給出他的觀點。這允許所有參與者進(jìn)行協(xié)作。因為在該例示實施 例中,經(jīng)由網(wǎng)絡(luò)在給出時間僅僅存在一個教師,所以該協(xié)作可以是串 行的,而沒有沖突問題。
在本發(fā)明的例示實施例中,DextroNet可以得到不同帶寬的多種網(wǎng) 絡(luò)的支持。在一個例示實施例中,當(dāng)DextroNet被用于教育指示時,可 以使用例如低速網(wǎng)絡(luò)。經(jīng)由例示DextroNet連接的3D交互顯影系統(tǒng)的 每一個可以例如具有用于手術(shù)規(guī)劃、外科手術(shù)或解剖結(jié)構(gòu)的成像和視 頻數(shù)據(jù)的本地副本。由此,跟蹤數(shù)據(jù)、控制信號或圖形或圖像參數(shù)數(shù) 據(jù),通常尺寸較小,可以被經(jīng)由網(wǎng)絡(luò)發(fā)送。通常說來,在DextroNet 中,聯(lián)網(wǎng)信息可以例如被分為兩種類型消息和文件。消息可以包括 例如跟蹤數(shù)據(jù)、控制信號等、文件可以包括例如圖形和圖像數(shù)據(jù),該圖形和圖像數(shù)據(jù)可以在發(fā)送之前被壓縮。這些在下面進(jìn)行更全面的描 述。
注意到,在本發(fā)明的例示實施例中,由一個用戶引入的動作可以 被傳送到至少一個其他用戶(學(xué)生或教師)的遠(yuǎn)程位置,其中,第二 工作站本地地計算相應(yīng)的圖像。聯(lián)網(wǎng)參與者之間的語音通信可以是帶
外(outofband)的,諸如在低速網(wǎng)絡(luò)實施例中經(jīng)由電話,或諸如在例
示高速網(wǎng)絡(luò)實施例中通過網(wǎng)絡(luò)上語音系統(tǒng),諸如通過因特網(wǎng)上語音協(xié)
議("VOIP")。此外,高速網(wǎng)絡(luò)可以容納由如在Camera Probe申請 中描述的攝影探測器(Camera Probe)生成的單像(mono)或立體視 頻信息的傳送。該視頻信息可以諸如與計算機(jī)生成圖像組合,或可以 在獨立的顯示器或顯示窗上查看。非3D的顯示視頻(或圖像快照)通 常僅僅可以被看作"背景"。這是因為圖像或視頻(圖像序列)是真 實世界的投影,并且不包含3D信息。因此,在這些圖像或視頻中可見 的對象不能被準(zhǔn)確定位(position)在3D對象前面。下面將更全面地 描述該顯示可能性。
在本發(fā)明的例示實施例中,DextroNet例如能夠支持協(xié)作和獨立地 工作。例示系統(tǒng)能夠例如被用作用于手術(shù)規(guī)劃和個體培訓(xùn)的獨立平臺。 在該實施例中,例如,可以本地地優(yōu)化系統(tǒng)配置。由此,學(xué)生的系統(tǒng) 上的界面的位置和取向可以不同于講師的系統(tǒng)上的界面的位置和取 向。然而,如果激活聯(lián)網(wǎng)功能,則學(xué)生的系統(tǒng)能夠例如改變其系統(tǒng)配 置以匹配講師的系統(tǒng)。這可以避免坐標(biāo)系(coordinate system)之間可 能存在的失配問題。
E. DextroNet外科醫(yī)師-顯影助手范例
在本發(fā)明的另一例示實施例中,講師能夠例如指導(dǎo)位于遠(yuǎn)處的至 少一個學(xué)生,以及"顯影助手"能夠通過如下來協(xié)助講師操縱圖像 并建議見到該助手所見需要的步驟,或者,周期性地將教師角色轉(zhuǎn)讓 到該助手,以便所有人可以看到他的視點。例如,顯影助手能夠操縱圖像以加亮突出感興趣對象(諸如通過改變對象的顏色查找表或透 明度);放大(電子變焦)感興趣對象;改變?nèi)∠蚧蛞朁c;播放、停 止、倒回、快進(jìn)或暫停記錄手術(shù)的視頻圖像;提供具有不同視點的分 屏;將視頻圖像與計算機(jī)生成圖像組合用于顯示;在顯示單像和立體 圖像之間的轉(zhuǎn)換(它們是視頻圖像還是計算機(jī)生成圖像);以及執(zhí)行 其他相關(guān)圖像操縱和呈現(xiàn)任務(wù)。通過除了講師和學(xué)生還讓顯影助手參 與,講師例如能夠集中在指導(dǎo)學(xué)生上而不是將注意力用于圖像的操縱。 此外,當(dāng)助手接管系統(tǒng)控制并由此變成教師時,可以協(xié)助不熟悉3D交 互成像系統(tǒng)的操作的學(xué)生來獲得他們可能需要的視點和信息。
在本發(fā)明的例示實施例中,外科醫(yī)師或內(nèi)科醫(yī)師以及"顯影助手" 能夠經(jīng)由DextroNet在實際手術(shù)或其他醫(yī)療處理期間協(xié)作。在該實施例 中,顯影助手能夠大體擔(dān)當(dāng)主用戶,以及內(nèi)科醫(yī)師能夠大體擔(dān)當(dāng)遠(yuǎn)程 用戶。外科醫(yī)師或內(nèi)科醫(yī)師可以諸如在手術(shù)室或治療室內(nèi)正對患者操 作或執(zhí)行一些醫(yī)療、診斷或治療手術(shù),以及顯影助手可以位于遠(yuǎn)處, 例如,位于手術(shù)外科內(nèi),位于手術(shù)室上方的通道(gallery)內(nèi),位于鄰 近室內(nèi),或位于完全不同的地方中。這在下面結(jié)合圖4-8利用外科醫(yī)師 -助手范例進(jìn)行描述。
顯影助手的任務(wù)可以例如是在外科醫(yī)師操作的同時與外科醫(yī)師進(jìn) 行語音接觸,以及動態(tài)地操縱3D顯示來更好協(xié)助外科醫(yī)師。其他遠(yuǎn)程 用戶可以觀察,但是遠(yuǎn)程用戶不能自由地操縱數(shù)據(jù)。
例如,假設(shè)外科醫(yī)師結(jié)合神經(jīng)外科手術(shù)地使用DEX-RayTM系統(tǒng)。 在該例示實現(xiàn)中,他的主顯示被局限為從如Camera Probe申請中所述 的攝影機(jī)的視點所能查看的數(shù)據(jù)集的那些部分。但是,顯影助手可以 自由地從任何視點查看虛擬數(shù)據(jù)。在本發(fā)明的例示實施例中,顯影助 手能夠具有兩個顯示,并看到外科醫(yī)師的視點以及他的視點。例如,
他可以從相反視點(也就是固定到腫瘤或其他顱骨內(nèi)結(jié)構(gòu)的一些視點) 來查看外科手術(shù),并看到外科醫(yī)師從"外部""進(jìn)入到"他的視點內(nèi)。例如,假設(shè)外科醫(yī)師在視神經(jīng)附近操作。如在Camera Probe申請 中所述,用戶可以將數(shù)據(jù)集中的一個或多個點設(shè)置為標(biāo)記,以及觀察 探測器尖端到被連續(xù)讀出的那些標(biāo)記的動態(tài)距離。此外,用戶能夠利 用一個或多個被跟蹤的手術(shù)器械(其不會獲得視頻圖像)來進(jìn)行相同 的事情,以便顯影專家能夠例如在外科醫(yī)師實際操作的同時提供輸入。 雖然外科醫(yī)師不能將整個顯示器專用于視神經(jīng)附近的位置,但是顯影 助手能夠。由此,例如,顯影助手能夠動態(tài)地電子變焦外科醫(yī)師正在操作的 區(qū)域,沿著外科醫(yī)師附近的視神經(jīng)設(shè)置五個標(biāo)記點,以及監(jiān)視到每個 標(biāo)記點的距離,如果外科醫(yī)師來到某個安全邊界內(nèi)時警告外科醫(yī)師。 另外,視情況而定,可以在外科醫(yī)師的系統(tǒng)顯示器上,看到和聽到由 顯影助手設(shè)置的新標(biāo)記以及距離每個所述標(biāo)記的動態(tài)距離,因為顯影 助手,也就是主用戶,控制3D數(shù)據(jù)集。如Camera Probe中所述,用戶能夠識別包括在組合(增強(qiáng)現(xiàn)實) 圖像中的多個虛擬結(jié)構(gòu)。理想地這可以隨著手術(shù)的進(jìn)展而動態(tài)地完成, 以及在每個階段,可以顯影與該階段相關(guān)聯(lián)的分割。然而,實際上, 對于單獨工作的外科醫(yī)師來說通常是不可能的,因為外科醫(yī)師不是顯 影專家也不能自由地以動態(tài)方式運用系統(tǒng)的性能。然而,顯影助手是。 當(dāng)外科醫(yī)師來到給出區(qū)域附近時,顯影助手能夠添加和去除結(jié)構(gòu)以更 好引導(dǎo)外科醫(yī)師。例如,如果在外科手術(shù)之前沒有分割的某個結(jié)構(gòu)變 得有關(guān),則顯影助手可以即興即時地(on the fly)地分割對象,該某個 結(jié)構(gòu)例如具有沒有通過任何術(shù)前掃描的腫瘤的指狀物或細(xì)紋(fmethread)的腦結(jié)構(gòu)的一部分。由此,在本發(fā)明的例示實施例中,遠(yuǎn)程觀 眾能夠具有更多的自由并由此能夠進(jìn)行在預(yù)規(guī)劃期間沒有完成的任何圖像處理,諸如調(diào)節(jié)上色(colorization)、透明度、分割閾值等。使用類比(analogy),外科醫(yī)師可以被類比成足球教練,該足球教練讓他的助手(顯影助手)從比賽場上方的新聞記者席中從高處 鳥瞰比賽,并且當(dāng)助手看到其他隊伍調(diào)遣的圖案時經(jīng)由無線電與教練 交談。在本發(fā)明的例示實施例中,該顧問能夠例如看到他的屏幕以及 外科醫(yī)師的屏幕,并且該顧問能夠由此動態(tài)地控制顯示在兩個屏幕上 顯示的虛擬對象,從而更好地在外科醫(yī)師操作的同時對外科醫(yī)師進(jìn)行 支持。II.教師-學(xué)生交互A.例示程序流程下面要描述采用例示教師-學(xué)生范例的根據(jù)本發(fā)明的例示實施例 的程序流程。圖1示出根據(jù)本發(fā)明的例示實施例的例示教師型控制臺。參考圖1,在101,例示系統(tǒng)能夠檢査已經(jīng)連接的任何學(xué)生。由此,在102, 判定是否有新學(xué)生加入。如果是,則在103,可以在教師控制臺與用于 新近加入學(xué)生的學(xué)生控制臺之間同步界面和數(shù)據(jù)。如果否,則程序流 程可以返回IOI,在IOI,系統(tǒng)能夠繼續(xù)檢査已經(jīng)加入的任何學(xué)生?;氐?03, 一旦新學(xué)生諸如通過明確點擊他的控制臺的3D界面上 的按鈕加入了 DextroNet,則教師能夠例如發(fā)送學(xué)生消息來同步他們的 相應(yīng)界面和對象,諸如滑塊、按鈕等。這些消息可以包括例如教師 的控制面板的位置、取向和尺寸;在控制面板上的虛擬窗口小配件 ("widget")的狀態(tài),諸如上下按鈕、顏色查找表設(shè)置;數(shù)據(jù)集中的 虛擬對象的位置、取向和尺寸;以及任何可用的視頻?;蛘撸绻?師發(fā)現(xiàn)學(xué)生側(cè)上的數(shù)據(jù)太不同于他自身的數(shù)據(jù),則教師可以選擇執(zhí)行 在他和學(xué)生的相應(yīng)控制臺之間的整個數(shù)據(jù)集的完全同步。這可以例如 通過由教師的控制臺壓縮數(shù)據(jù)集(不包括快照和記錄在內(nèi))并將其傳 送給新近加入DextroNet會話的學(xué)生來完成。 一旦界面以及由教師和新 近加入學(xué)生共享的數(shù)據(jù)已經(jīng)被同步,則用于他們的協(xié)作交互顯影的準(zhǔn) 備已經(jīng)完成,并且程序流程能夠繼續(xù)到包括圖1的剩余的主循環(huán)中,31如下所述。在110,例示教師系統(tǒng)可以詢問是否已經(jīng)接收到學(xué)生視頻。這可以在例如學(xué)生正在操作Dex-Ray 型系統(tǒng)時發(fā)生。如果是,則程序流程 可以繼續(xù)到lll,在lll,可以繪制所述學(xué)生的視頻并且程序流程可以 繼續(xù)到125。如果在110沒有接收到學(xué)生視頻,則程序流程可以直接移 動到125。另外,如果教師的工作站具有可用的視頻,則該視頻可以在 105處讀取以及在106處繪制,以及程序流程可以移動到120,在120, 系統(tǒng)可以詢問是否有任何這樣的視頻可用。注意到,在120,判定教師視頻的可用性。如果是,則可以在126 發(fā)送視頻幀,以及程序流程可以移動到125。如果否,程序流程可以直 接移動到125,在125,教師3D設(shè)備可以被讀取。這里,教師能夠由 本地跟蹤系統(tǒng)來更新他的虛擬工具(諸如指示筆、指示數(shù)據(jù)集中的教 師的當(dāng)前位置的化身、或鉆子)的位置、取向和狀態(tài),該本地跟蹤系 統(tǒng)連續(xù)地跟蹤三維控制的運動和狀態(tài),操作員利用該三維控制與數(shù)據(jù) 集進(jìn)行交互。例如,在執(zhí)行結(jié)腸鏡檢查應(yīng)用的標(biāo)準(zhǔn)DextroscopeTM中, 該3D控制可以是例如分別由用戶(這里是教師)持于右手和左手中的 每只手中的指示筆和操縱桿?;蚶纾绻贒extroscopeTM上執(zhí)行其 他應(yīng)用程序,用戶能夠例如代之以將6D控制器持于他的左手中。 一旦 在125已經(jīng)讀取了教師側(cè)3D設(shè)備,則可以在130讀取網(wǎng)絡(luò)(學(xué)生)3D 設(shè)備,在130,教師工作站可以通過網(wǎng)絡(luò)經(jīng)由從學(xué)生工作站接收到的消 息來更新學(xué)生的代表工具的位置、取向和狀態(tài)。從130,程序流程可以例如移動到135,在135,在教師側(cè)上的交 互被經(jīng)由網(wǎng)絡(luò)發(fā)送到學(xué)生。這里,教師可以發(fā)送他正在使用的任何工 具的位置、取向和狀態(tài)以及他的鍵盤事件到學(xué)生,該任何工具諸如剪 切工具、鉆子、切片觀察器工具等。這些位置和取向可以被轉(zhuǎn)換為世 界坐標(biāo),如下在數(shù)據(jù)格式部分中所述。從135,程序流程可以例如移動 到140,在140,可以判定學(xué)生當(dāng)前在本地學(xué)生顯示器處是否期望遵循教師的視點。如果是,在145,可以同步視點,也就是, 一旦教師接收 到學(xué)生對于同步視點的請求,則教師可以將其工作站中的虛擬對象的 位置、取向和尺寸發(fā)送到學(xué)生。如果在140處為否,并且學(xué)生由此選
擇遵循他自身的視點,則程序流程可以繼續(xù)到150,在150,可以繪制 數(shù)據(jù)集的3D視圖。因為這些交互正在進(jìn)行,從150程序流程循環(huán)回到 110和120,這里例如只要DextroNet會話被激活就可以重復(fù),以及3D 數(shù)據(jù)集的交互和操縱被連續(xù)地經(jīng)由網(wǎng)絡(luò)發(fā)送。此外,如下所述,學(xué)生 可以在看到教師的視點和看到他自身(本地)的視點之間轉(zhuǎn)換,他自 身的視點不受到教師的視點的限制。學(xué)生對于視點選擇的當(dāng)前狀態(tài)由 此通過140在每個循環(huán)處測試和識別。
在描述對應(yīng)的學(xué)生控制臺處的程序流程之前,下面將結(jié)合圖2描 述根據(jù)本發(fā)明例示實施例的DextroNet的多種例示配置。
圖2示出例示DextroNet網(wǎng)絡(luò)250以及連接到其的多種控制臺。例 示的連接設(shè)備都是新加坡的Volume Interactions Pte公司的產(chǎn)品或原型 產(chǎn)品。例如,DEX-RayTM型工作站210可以被連接到DextroNet。如上 所述,DEX-RayTM型工作站是實現(xiàn)在Camera Probe申請中所述技術(shù)的 工作站。該技術(shù)可用于多種環(huán)境中,多種環(huán)境包括諸如神經(jīng)外科規(guī)劃 和導(dǎo)航。在DEX-RayTM型工作站中,可以生成例如腦的分割和處理后 的術(shù)前3D掃描數(shù)據(jù)或虛擬數(shù)據(jù)與實時視頻的組合視圖。DEX-Ray 型工作站可以用作教師控制臺,其中,神經(jīng)外科醫(yī)師可以在他執(zhí)行手 術(shù)規(guī)劃或甚至執(zhí)行手術(shù)的同時,使用DEX-RayTM型工作站向經(jīng)由網(wǎng)絡(luò) 連接的其他人示出這些組合圖像?;?,更便利地,DEX-RayTM型工作 站可以作為學(xué)生操作,使得顯影助手擔(dān)當(dāng)教師。
繼續(xù)參考圖2, 220和230示出連接到DextroNet的Dextroscope 型工作站。在標(biāo)準(zhǔn)Dextroscope 型工作站中,可以交互地顯影3D數(shù) 據(jù)集;但是,不同于DEX-Ray 型控制臺,通常不捕獲和集成現(xiàn)場視 頻。然而,在標(biāo)準(zhǔn)的Dextroscope中,預(yù)記錄的視頻可以被集成到3D數(shù)據(jù)集中并被操縱,諸如可以在"尸檢"分析和其中使用DEX-Ray的 神經(jīng)外科檢查中發(fā)生的預(yù)記錄的視頻。DextroBeam工作站220和Dextroscope工作站230是本質(zhì)相同設(shè) 備的不同風(fēng)格(flavor),主要不同之處在于顯示界面。Dex加Beam, 代替具有如在標(biāo)準(zhǔn)計算機(jī)工作站中的連接的顯示器,使用投影儀來將 其顯示投影在例如墻壁或屏幕上,如220中所示。形成對比的是, Dextroscope通常具有兩個顯示器。 一個顯示器是集成監(jiān)視器,其將圖 像投影到鏡上,以便操作員能夠通過在鏡下面用手抓住3D控制器從而 在加載的3D數(shù)據(jù)集上操作的同時具有探入(reach-in)交互感覺。另 一個顯示器是顯示與投影到鏡上的內(nèi)容相同的內(nèi)容的標(biāo)準(zhǔn)顯示監(jiān)視 器。由此,如在圖2中所示,使用根據(jù)本發(fā)明例示實施例的例示 DextroNet網(wǎng)絡(luò)可以得到多種協(xié)作交互范例。DEX-RayTM工作站210可 以與Dextroscope 工作站230協(xié)作或與DextroBeam工作站220協(xié)作。 或例如,其還可以與另一個DEX-RayTM工作站210 (未示出)協(xié)作。 另夕卜,DextroBeam工作站220可以經(jīng)由網(wǎng)絡(luò)協(xié)作地與另一 DextroBeam 工作站220或Dextroscope工作站230交互。另外,雖然圖2中未示出,其他3D交互顯影系統(tǒng)可以被連接到 DextroNet。例如,Volume Interactions公司還提供RadioDexterTM的版 本,該軟件在Dextroscope 禾n DextroBeam 系統(tǒng)上運行,該 Dextroscope 禾n DextroBeam 系統(tǒng)可以在膝上型(或其他計算機(jī))上 運行,其中,將3D操縱投射到2D控制,諸如標(biāo)準(zhǔn)鼠標(biāo)和鍵盤。該軟 件的功能在DextroLap申請中進(jìn)行了詳細(xì)描述。該軟件可以由此在這里 被稱為"DextroLap"。雖然圖2中未示出DextroLap控制臺,其還可 以被連接到DextroNet。另外,尤其在教師-學(xué)生環(huán)境中,在DextroNet上可以具有多于兩個的協(xié)作工作站,在教師-學(xué)生環(huán)境中, 一個教師可以操縱數(shù)據(jù)集,并 且經(jīng)由網(wǎng)絡(luò)250連接的任何數(shù)量的學(xué)生可以參與或觀察。在該例示實 施例中,所有其他學(xué)生能夠例如看到每個學(xué)生的虛擬工具以及教師的 虛擬工具。教師可以例如看到每個學(xué)生的IP地址,以及他們的虛擬工 具的位置和他們的顯示的快照或?qū)崟r視頻,如下結(jié)合圖10-30所述。
在本發(fā)明的可選擇例示實施例中,控制功能,也就是這里描述為 教師的操作功能,可以在參與者之間轉(zhuǎn)交,允許任何連接的系統(tǒng)將其 與數(shù)據(jù)集的交互廣播到其他參與者。在該例示實施例中,圖標(biāo)或消息 可以例如標(biāo)識哪個系統(tǒng)然后是操作的教師。
給出DextroNet可以提供的這多種協(xié)作可能性,下面將描述學(xué)生工 作站上的程序流程,知道教師-學(xué)生交互可以使用上面結(jié)合圖2描述的 任何可能連接(不管是否在圖2中示出)。
參考圖3,在301,學(xué)生控制臺搜尋連接到可用的教師。這可以例 如通過由學(xué)生控制臺首先在因特網(wǎng)上廣播對于加入DextroNet會話的 請求來完成。如果具有可用的教師,則學(xué)生可以例如接收確認(rèn),然后 就能夠連接。如果在因特網(wǎng)(或諸如VPN的其他數(shù)據(jù)網(wǎng)絡(luò))上沒有教 師激活,則學(xué)生例如可以連接到由給出系統(tǒng)配置指定的服務(wù)器并等待 教師。
一旦在301連接到教師,則程序流程移動到302,在302,學(xué)生控 制臺搜尋以更新與該學(xué)生和教師正協(xié)作與之交互的3D數(shù)據(jù)集相關(guān)的 界面和數(shù)據(jù)。由此,在302,學(xué)生可以例如利用來自經(jīng)由網(wǎng)絡(luò)發(fā)送的教 師數(shù)據(jù)的教師的界面和數(shù)據(jù)集的位置、取向和尺寸參數(shù)來更新他的控 制面板。他還可以經(jīng)由通過網(wǎng)絡(luò)接收的消息來將他的控制面板上的窗 口小部件的狀態(tài)與教師的系統(tǒng)上的那些窗口小部件的狀態(tài)對準(zhǔn)。這些 消息可以例如涉及虛擬控制面板上的按鈕的上和下狀態(tài)、模塊頁面的 選擇(例如存在于DextroScope中,該頁面表示用戶處于的多種可能模塊或操作模式,諸如配準(zhǔn)、分割、顯影等)、滾動條的當(dāng)前值、組合 框的選擇、顏色查找表設(shè)置等。一旦已經(jīng)在302更新了他的界面,則學(xué)生還可以例如接收數(shù)據(jù)同 步消息,該數(shù)據(jù)同步消息諸如3D數(shù)據(jù)集中的虛擬對象的位置、取向、尺寸、透明度和詳細(xì)層次(detaillevd)。如注意到的,如果學(xué)生(或 在相同的自動化處理中,由學(xué)生的系統(tǒng))判定在學(xué)生的數(shù)據(jù)集版本與 教師的相同數(shù)據(jù)集的版本之間的差異太大,學(xué)生還可以請求教師發(fā)送 整個壓縮后的數(shù)據(jù)集以供分析。在該情況下,學(xué)生控制臺然后可以解 壓縮數(shù)據(jù)并重新加載遠(yuǎn)程場景。或者,教師可以發(fā)送交互列表來代替 整個數(shù)據(jù)集,并讓學(xué)生工作站通過在學(xué)生的機(jī)器上本地地運行教師已 經(jīng)執(zhí)行在一些時間點開始的數(shù)據(jù)集的所有交互來逐漸地趕上教師的數(shù) 據(jù)集版本。 一旦已經(jīng)更新了界面和數(shù)據(jù),由此使得學(xué)生控制臺與教師 控制臺同步,則程序流程可以移動到310和320,如下所述。在310,可以判定教師控制臺是否發(fā)送了任何視頻。如果是,則可 以在314繪制教師視頻,并且程序流程可以移動到325。如果在310為 否,則程序流程可以直接移動到325。處理視頻問題的逆問題,也就 是學(xué)生控制臺是否具有應(yīng)該發(fā)送到教師控制臺的視頻,在320的決定 可以判定視頻幀是否可用。在描述320處的程序流程之前,注意,如 果具有學(xué)生側(cè)視頻,則學(xué)生控制臺可以在305讀取該視頻,在306繪 制該視頻,注意,該視頻在320可用并接著在326被發(fā)送。從326,程 序流程還可以移動到325。如果,例如,沒有學(xué)生視頻可用,則程序流 程可以直接從320移動到325。在325,學(xué)生控制臺可以讀取其自身的3D設(shè)備(例如指示筆和控 制器或它們的等效一也就是用戶與之交互的真實物理界面)。這可以 允許學(xué)生控制臺來計算其虛擬工具的位置、取向和狀態(tài),諸如由指示 筆和3D控制器的實際跟蹤位置所給出。如果學(xué)生正在使用DextroLap 系統(tǒng),則可以在325讀取替代3D設(shè)備的鼠標(biāo)和鍵盤。在330,學(xué)生控制臺可以例如從經(jīng)由DextroNet接收的消息讀取教師3D設(shè)備,該教師 3D設(shè)備允許學(xué)生控制臺來更新教師的代表工具的位置、取向和狀態(tài)以 及任何鍵盤事件。從330,程序流程可以移動到340,在340,可以判 定學(xué)生是選擇控制他自身的視點還是遵循教師的視點。如果否,并且 學(xué)生選擇控制他自身的視點,則程序流程然后可以移動到345,在345, 學(xué)生可以忽略關(guān)于例如教師的左手工具的聯(lián)網(wǎng)消息(在該實例中,左 手工具控制在3D數(shù)據(jù)集中給出用戶處于的位置以及如果有則當(dāng)前選 擇的是什么(多個)對象;類似于在二維中移動光標(biāo)的鼠標(biāo)),并通 過例如他本地的操縱桿或6D控制器來直接讀取他自身的左手工具的 位置、取向和狀態(tài)。如果在340為是,并由此學(xué)生選擇遵循教師的視 點,他的機(jī)器可以在346發(fā)送消息到教師的機(jī)器來請求教師的(多個) 虛擬對象的當(dāng)前位置和取向。 一旦他接收到答復(fù),他然后可以更新他 自身的(多個)對象。不管在340做出什么選擇,程序流程可以從345或346移動到350, 在350,繪制學(xué)生控制臺的3D視圖,然后,程序流程可以循環(huán)回到?jīng)Q 定310和320,以便,如上所述,DextroNet交互程序流程可以通過會 話被連續(xù)地重復(fù)。B.教師-學(xué)生交互的例示特征給出上述的基本教師-學(xué)生范例,可以在本發(fā)明例示實施例中實現(xiàn) 以下的特征。以下假設(shè)系統(tǒng)上的用戶具有雙手的虛擬工具,每個工具 具有一個按鈕開關(guān),并且系統(tǒng)上的用戶使用具有按鈕和滑塊的虛擬控 制面板來控制顯影應(yīng)用程序。該例示系統(tǒng)可以是例如運行 RadioDexter 軟件的新加坡的Volume Interactions Pte公司的 Dextroscope 或DextroBeam 系統(tǒng)。1.跟蹤負(fù)載的減少在本發(fā)明的例示實施例中,為了處理網(wǎng)絡(luò)數(shù)據(jù)傳輸速率的變化性, 減少施加到網(wǎng)絡(luò)上的通信量負(fù)載,以及確保不遺漏在3D對象上的關(guān)鍵用戶交互,例如可以釆用虛擬工具的按鈕切換的四個狀態(tài)檢查、開 始動作、進(jìn)行動作以及結(jié)束動作。在"檢查"狀態(tài)下,用戶不點擊控 制虛擬工具的指示筆,而是運動該指示筆(這生成位置和取向數(shù)據(jù), 但是不生成"按鈕按下"數(shù)據(jù))。由此,該虛擬工具呈現(xiàn)為僅僅在虛 擬世界中漫游而不執(zhí)行任何激活操作,但是可以看到指向?qū)ο螅约?實際上可以觸發(fā)一些對象來改變它們的狀態(tài),雖然不以持久的方式。 例如,鉆孔工具可以隨著虛擬工具與3D對象的交互來示出該3D對象 的透視圖,但是不會對對象鉆孔除非按下了按鈕。在"開始動作"狀 態(tài)下,可以按下指示筆的按鈕,以及如果保持按下該按鈕,則可以激 活"執(zhí)行動作"狀態(tài)。 一旦用戶例如釋放指示筆的按鈕,工具可以進(jìn) 入"結(jié)束動作"并然后可以改變回到"檢査"狀態(tài)。由此,多數(shù)時間 虛擬工具處于"檢查"狀態(tài),該"檢查"狀態(tài)是相較工具實際起作用 的那些狀態(tài)較不重要的狀態(tài)。
由此,在"檢查"狀態(tài)下,虛擬工具可以呈現(xiàn)為僅僅在虛擬世界 中漫游而不執(zhí)行任何有效操作,諸如從一個位置移動到另一個位置。 傳輸該狀態(tài)下工具的位置和取向的數(shù)據(jù)分組可以被認(rèn)為"不重要"的 數(shù)據(jù)分組。當(dāng)具有擁塞網(wǎng)絡(luò)時,教師的"發(fā)送"緩存器可能會充滿未
發(fā)送的分組。在該環(huán)境下,在本發(fā)明的例示實施例中,DextroNet軟件 可以檢查"發(fā)送"緩存器,并將那些具有"檢查"狀態(tài)的分組扔掉。 因為多數(shù)時間虛擬工具處于"檢查"狀態(tài),從而可以大大降低通信量 負(fù)載。這可以參考圖53示出。例如,假設(shè)教師在他的"發(fā)送"緩存器 中具有如圖53 (a)中所示的一組消息。當(dāng)網(wǎng)絡(luò)連接較慢時,他可以例 如僅僅發(fā)送圖53 (b)中所示的消息到學(xué)生。在這種情況下,學(xué)生將看 到教師的工具從位置l "跳"到位置N,以及然后執(zhí)行例如鉆孔操作, 但是不丟失實際鉆孔操作的任何信息。
在本發(fā)明的例示實施例中,DextroNet通信量負(fù)載控制可以利用該 事實。可以對重要消息分配以傳輸優(yōu)先權(quán)。通常,當(dāng)網(wǎng)絡(luò)速度較快時, 教師的工具的每個動作可以例如被傳輸?shù)綄W(xué)生。由此,學(xué)生可以觀看教師的工具的連續(xù)運動。然而,如果教師的系統(tǒng)檢測到聯(lián)網(wǎng)速度減慢 (例如通過注意到在發(fā)送出緩存器中有太多消息排隊等待),則在本 發(fā)明的例示實施例中,該教師的系統(tǒng)可以拋棄"檢查"狀態(tài)類型的消 息。以這種方式,即使在擁塞的網(wǎng)絡(luò)條件下,學(xué)生也可以跟上教師的 步調(diào)。與該消息"壓縮"(損耗)方案的折衷是,在該模式下,在學(xué) 生的本地視圖中的教師的工具可以被看到移動地不那么平滑。盡管如 此,但是,不會遺失對于虛擬對象的重要操縱。注意到,該減少在聯(lián) 網(wǎng)速度較快時不需要發(fā)生。開關(guān)可以是例如教師的"發(fā)送"緩存器中 的隊列長度。當(dāng)沒有"減少"時,教師的工具可以在學(xué)生的世界中平 滑地運動。當(dāng)"減少"確實發(fā)生時,教師工具的運動是不連續(xù)的。然 而,教師對于任何虛擬對象的操作不會遺失,以及學(xué)生的工具可以跟 上教師的工具的步調(diào)。以這種方式,本發(fā)明的例示實施例可以動態(tài)地 適于可用的聯(lián)網(wǎng)速度以及以多分辨率(也就是粗糙和平滑地)顯示教 師的工具。
2.視點控制
如注意到的,在本發(fā)明的例示實施例中,DextroNet學(xué)生可以控制 給出的3D對象,或者遵循教師的視點。如果學(xué)生選擇3D對象的本地 控制,則他對對象的本地操縱,諸如對于對象的旋轉(zhuǎn)、平移和電子變 焦(數(shù)字放大)不影響在教師或其他學(xué)生的世界中的3D對象的位置。 然而,教師可以看到學(xué)生的虛擬工具相對于3D對象的位置和取向,從 而允許教師來推斷學(xué)生的視點,如上注意到的。在該例示場景中,學(xué) 生可以在他的世界中旋轉(zhuǎn)對象以找到除了當(dāng)前由教師選擇之外的感興 趣的另外區(qū)域或取向,以及可以例如用語音和/或通過指向該另外區(qū)域 或取向來將該另外區(qū)域或取向傳輸?shù)浇處煛H缓?,?dāng)教師接收到學(xué)生 的消息時,可以例如轉(zhuǎn)到特定的地點,并在教師的世界中注意由學(xué)生 指向的該位置。另一方面,如果學(xué)生選擇遵循教師的視點,則在教師 的世界中的所有運動將會與學(xué)生的本地世界共享。
在本發(fā)明的例示實施例中,可以具有特定的命令,該特定的命令可以經(jīng)由網(wǎng)絡(luò)發(fā)送來在這兩個狀態(tài)之間切換,以及相對于用戶的視點 來重新定位遠(yuǎn)程虛擬工具。該命令可以例如分別驅(qū)動圖1和3中的140和340處的判定。 2.數(shù)據(jù)同步在本發(fā)明的例示實施例中,可以有兩個同步模式,簡單同步和完 整同步。例示的簡單同步模式可以例如僅僅通信對象的位置、取向、 尺寸、透明度和詳細(xì)層次。從這些參數(shù)可以經(jīng)由無需較大帶寬的數(shù)據(jù)網(wǎng)絡(luò)傳輸?shù)挠^點來看,這些參數(shù)可被認(rèn)為是"輕量(light-weight)"的。 由此,在本發(fā)明的例示實施例中,教師模塊可以例如, 一旦檢測到新 學(xué)生加入網(wǎng)絡(luò),則實現(xiàn)該簡單同步。在本發(fā)明的例示實施例中,例如,僅僅當(dāng)用戶明確請求完整同步 時(諸如圖1中的145處),可以執(zhí)行完整同步。這包括壓縮和傳輸 教師的所有數(shù)據(jù)(除了為報告目的而捕獲的數(shù)據(jù),諸如快照和3D數(shù) 據(jù))。在本發(fā)明的例示實施例中,該同步可以是可選的,因為該同步 可以從容進(jìn)行(take time)。在該實施例中,教師僅僅當(dāng)學(xué)生要求完整 同步時才可以開始完整同步。如果具有多個學(xué)生,例如,僅僅可以將 數(shù)據(jù)發(fā)送到做出該請求的學(xué)生。此外,當(dāng)在兩側(cè)之間發(fā)生實質(zhì)的偏離 時,可以使用完整同步作為恢復(fù)策略。當(dāng)沒有由可用帶寬所導(dǎo)致的吞 吐量限制時,可以自動地、周期性地或在發(fā)生某些定義的事件時進(jìn)行 該完整同步。C.3D界面(控制面板)的同步在本發(fā)明的例示實施例中,例示同步可以包括兩個過程,校準(zhǔn)的 同步和窗口小部件的同步,如下面要描述的。1.校準(zhǔn)的同步當(dāng)使用DextroscopeTM或DextroBeamTM型系統(tǒng)時,例如,虛擬 控制面板需要利用(例如由丙烯酸樹脂制成的)物理基座來精確校準(zhǔn),3D跟蹤器在交互期間擱置在該物理基座上,以便虛擬工具可以觸摸虛 擬控制面板的對應(yīng)部分。由此,校準(zhǔn)和配置是本地的,隨著機(jī)器的不 同而改變。這可以導(dǎo)致在聯(lián)網(wǎng)同時的失配問題。例如,教師的工具可 能由于校準(zhǔn)和/或配置失配而不能夠觸摸給出學(xué)生的控制面板。為了避 免這個問題,在本發(fā)明的例示實施例中,教師和學(xué)生控制面板可以如 下同步。當(dāng)激活聯(lián)網(wǎng)會話時,教師的控制面板的位置、取向和尺寸可 以被發(fā)送到學(xué)生,這些參數(shù)可以替換學(xué)生自身的控制面板的參數(shù)。當(dāng) 聯(lián)網(wǎng)會話終止時,可以恢復(fù)學(xué)生的機(jī)器的原始配置,從而允許他來單 獨工作。
2.窗口小部件的同步
當(dāng)聯(lián)網(wǎng)會話開始時,在兩側(cè)上的控制面板的初始狀態(tài)可以不同,
例如滾動條的位置、按鈕和標(biāo)簽(tab)的狀態(tài)、顏色查找表的列表等。 所有這些參數(shù)需要被對準(zhǔn)用于聯(lián)網(wǎng)。
D.在不同交互平臺之間的連接
在本發(fā)明的例示實施例中,在不同類型的交互平臺之間的連接可 以例如被支持在Dextroscope 與DextroBeam之間。由此,在 Dextroscope上的教師可以指示在DextroBeam前面聚集的多個遠(yuǎn)程學(xué) 生,或者例如,教師可以指示在DextroBeam前面的本地學(xué)生,而在 Dextroscope 上的遠(yuǎn)程學(xué)生可以觀看。
在本發(fā)明的例示實施例中,另一支持的連接可以在3D交互平臺與 2D桌面工作站之間,諸如在DextrosocpeTM與DextroLap系統(tǒng)之間,如 上指出。該系統(tǒng)可以允許參與者使用僅僅沒有指示筆和操縱桿的3D輸 入設(shè)備的桌面工作站,其中,經(jīng)由鼠標(biāo)和鍵盤來執(zhí)行用戶與系統(tǒng)之間 的交互(如在DextroLap應(yīng)用中所述)。在該場景中,教師和學(xué)生的輸 入設(shè)備可能不一樣。因為如下原因這可以最有用缺乏3D指示筆和操 縱桿的學(xué)生可以依然觀看在完全3D中操作的教師,并且通過使用他們 的鼠標(biāo)和鍵盤來與教師通信。在桌面工作站上,鍵盤事件以及來自跟蹤系統(tǒng)的動作可以被傳輸和插入。在該例示實施例中,鍵名稱及其修
改器(modifier)需要被包裝到網(wǎng)絡(luò)消息中。例如,DextroLAP光標(biāo)具 有3D位置。該位置可以被發(fā)送到教師,然后教師可以看到學(xué)生的光標(biāo) 在3D中運動。
在本發(fā)明的例示實施例中,在Unix和Windows系統(tǒng)上運行的多 種交互顯影系統(tǒng)可以都經(jīng)由DextroNet連接。
E.自動教師檢測
在本發(fā)明的例示實施例中,當(dāng)教師和學(xué)生都位于給出內(nèi)聯(lián)網(wǎng)上時, DextroNet可以自動地檢測教師。如下面更詳細(xì)描述,如果客戶機(jī)從服 務(wù)器得到回復(fù),則客戶機(jī)然后可以開始與服務(wù)器的網(wǎng)絡(luò)連接,并告訴 服務(wù)器它是教師還是學(xué)生。服務(wù)器可以例如保存所有客戶機(jī)的注冊列 表(角色、IP地址、端口)。如果服務(wù)器看到新加入的客戶機(jī)是學(xué)生, 他可以檢査是否有可用的教師并將該教師的IP地址和端口發(fā)送到該學(xué) 生。由此,學(xué)生可以自動地從服務(wù)器獲得教師的信息。如果不存在教 師,服務(wù)器則可以例如警告學(xué)生退出聯(lián)網(wǎng)連接?;蛘?,學(xué)生可以等待 直到教師上線。由此,在該例示實施例中,學(xué)生不需要擔(dān)心諸如配置 服務(wù)器IP地址和端口的低層聯(lián)網(wǎng)任務(wù)。 一旦有老師,則學(xué)生的系統(tǒng)就 可以自動地檢測到老師。
III.外科醫(yī)師-顯影助手交互 A.概述
下面參考圖4到8描述根據(jù)本發(fā)明例示實施例的在外科醫(yī)師與顯 影助手之間的例示3D數(shù)據(jù)集的例示協(xié)作交互顯影。圖4是例示外科醫(yī) 師的控制臺的程序流程圖。圖5是顯影助手的控制臺的例示程序流程 圖。圖6到8示出在該場景中的外科醫(yī)師和顯影助手的每一個的例示 視圖。通常,該范例本質(zhì)上不被限制為"外科醫(yī)師",而是可以包括 任何這樣的場景,在該場景中, 一個參與者("外科醫(yī)師")對于給 定對象執(zhí)行診斷或治療手術(shù),其中,可以獲得該對象的術(shù)前成像數(shù)據(jù)并與物理對象共同配準(zhǔn),并且其中,另一參與者可以根據(jù)由該術(shù)前成 像數(shù)據(jù)創(chuàng)建的3D數(shù)據(jù)集顯影對象。由此,所述的"外科醫(yī)師"包括例
如超聲檢查醫(yī)師(所述例如在"SonoDex"中)、使用Cathlab 機(jī)器 的介入心臟病專家、使用Medtronic手術(shù)導(dǎo)航系統(tǒng)的外科醫(yī)師等。
在所述的例示交互中,外科醫(yī)師預(yù)期使用Dex-RayTM型工作站, 并由此捕獲位置數(shù)據(jù)和實時視頻,以及顯影助手可以使用任何類型的 工作站。參考圖4,在401,外科醫(yī)師可以連接到網(wǎng)絡(luò)。在402,在顯 影助手一側(cè)上的數(shù)據(jù)可以與外科醫(yī)師一側(cè)上的數(shù)據(jù)同步。 一旦完成數(shù) 據(jù)同步,則程序流程可以例如從402沿著兩個并行路徑運動。首先, 在410,外科醫(yī)由可以請求顯影助手的場景,以及如果請求,則在411 可以繪制該場景。如果不請求顯影助手的場景,則程序流程可以從410 直接運動到420,在420,外科醫(yī)師的控制臺可以讀取攝影探測器的位 置和取向。這里,外科醫(yī)師的控制臺獲得攝影探測器的位置和取向(本 地的)并將其轉(zhuǎn)換為虛擬世界中的坐標(biāo)。從420,程序流程可以例如移 動到425。
注意到,并行于上述處理,還可以有本地視頻處理。想起(recalled) 作為DEX-RayTM型工作站的外科醫(yī)師的控制臺也可以獲得實時視頻。 由此,在405外科醫(yī)師的控制臺可以讀取其自身的視頻,而在406外 科醫(yī)師的控制臺可以繪制其自身的視頻。程序流程然后也可以移動到 425。
在425,外科醫(yī)師的控制臺可以經(jīng)由網(wǎng)絡(luò)將其已經(jīng)獲得的本地視頻 發(fā)送到顯影助手。從那里,程序流程可以移動到430,在430,外科醫(yī) 師的控制臺發(fā)送其的攝影探測器信息。這里,外科醫(yī)師的控制臺發(fā)送 虛擬世界坐標(biāo)中的攝影探測器的位置和取向到顯影助手。這僅僅是在 420獲得的信息的傳輸。在435,外科醫(yī)師的控制臺可以更新助手的代 表工具。這里,外科醫(yī)師的控制臺可以接收和更新在外科醫(yī)師的虛擬 世界中的顯影助手的代表工具的位置和取向。該數(shù)據(jù)可以經(jīng)由網(wǎng)絡(luò)從顯影助手的控制臺獲得。最終,在450,外科醫(yī)師的控制臺可以繪制
3D數(shù)據(jù)集的3D視圖,其可以包括視頻和增強(qiáng)現(xiàn)實,包括顯影助手的 代表工具的位置和取向。注意,當(dāng)前的3D繪制將是通過外科醫(yī)師以及 顯影助手與3D數(shù)據(jù)集進(jìn)行交互的結(jié)果。下面將結(jié)合圖5來描述外科醫(yī) 師-顯影助手范例的另一側(cè),集中在顯影助手一側(cè)上。
在501,顯影助手可以連接到網(wǎng)絡(luò),以及在502,顯影助手可以更 新他或她的數(shù)據(jù)。這里,顯影助手需要使用經(jīng)由網(wǎng)絡(luò)得到的外科醫(yī)師 的數(shù)據(jù)來更新他或她自身的虛擬對象位置、取向和尺寸。
程序流程可以從502并行地運動到510和520處的判定。首先, 在510,可以判定是否已經(jīng)接收到來自外科醫(yī)師的控制臺的任何視頻。 如果是,則在511,可以繪制外科醫(yī)師的視頻。如果否,則程序流程可 以運動到530。第二,在判定520處可以判定是否應(yīng)該發(fā)送助手的場景。 這可以例如響應(yīng)于來自外科醫(yī)師的工作站的詢問或請求。
如果外科醫(yī)師請求了顯影助手的場景,則在525,可以發(fā)送助手的 場景,并且助手可以發(fā)送他的視圖的快照或視頻。這些快照可以是例 如立體的或單像(monoscopic)的。如果在520外科醫(yī)師沒有請求過顯 影助手的場景,則程序流程也可以運動到530,程序流程從510到達(dá)也 到達(dá)530,在530,顯影助手的控制臺可以讀取其自身的3D設(shè)備。這 里,顯影助手具有對于他自身工具的完全控制,由此可以利用他自身 的指示筆和操縱桿來控制他的工具的位置、取向和尺寸。從這里,程 序流程可以運動到540,在540,可以更新外科醫(yī)師的代表工具。這里, 顯影助手的控制臺可以接收和更新在顯影助手的虛擬世界中的外科醫(yī) 師的代表工具的位置和取向。
最終,程序流程運動到550,在550,顯影助手的控制臺繪制3D 數(shù)據(jù)集的3D視圖。該3D視圖將包括對于顯影助手自身的3D設(shè)備以 及外科醫(yī)師的代表工具的更新,以及還可以包括從外科醫(yī)師接收的任何視頻。如上指出,外科醫(yī)師-顯影助手范例假設(shè)為包括經(jīng)由DextroNet 的DEX-RayTM到Dextrosc^pe 型交互。如上所述的該場景是教師-學(xué) 生范例的變體。在外科醫(yī)師-顯影助手場景中,外科醫(yī)師通常擔(dān)當(dāng)學(xué)生 的角色,而助手擔(dān)當(dāng)教師的角色。這是因為外科醫(yī)師(學(xué)生)因為忙 于操作而在與數(shù)據(jù)交互的能力上更加受限制;由此他可以主要涉及觀 看顯影助手(教師)如何控制3D視覺虛擬世界。
B. 獨立視點
當(dāng)在手術(shù)室中使用DEX-RayTM型控制臺時,例如,外科醫(yī)師的視 點受到視頻探測器的方向的限制,如圖6所示。如更詳細(xì)地在Camera Probe申請中更完全描述的,DEX-RayTM型設(shè)備基于視頻探測器的位置 以及由此從視頻探測器中的攝影機(jī)具有的視點來繪制3D場景。由此, 例如,使用DEX-Ray型控制臺的外科醫(yī)師不能看到視頻探測器的尖端 如何從內(nèi)部也就是從目標(biāo)自身內(nèi)部固定的視點接近目標(biāo),該目標(biāo)自身 內(nèi)部固定的視點諸如固定到腫瘤或其他顱骨內(nèi)結(jié)構(gòu)的視點。然而,諸 如在Dextrosc叩eTM型機(jī)器上實現(xiàn)的規(guī)劃系統(tǒng)中,助手具有用來檢查目 標(biāo)的不受限視點,如圖8所示。由此,在本發(fā)明的例示實施例中,可 以使用DextroNet將DEX-Ray 與Dextroscope 連接以協(xié)助外科醫(yī)師 或向他提供第二對眼睛,該第二對眼睛具有不受限的自由來移動通過 與外科醫(yī)師正對其執(zhí)行手術(shù)的實際患者相關(guān)聯(lián)的3D數(shù)據(jù)集。這對于實 時復(fù)雜手術(shù)期間的外科醫(yī)師來說具有巨大的用途,其中,多個顯影當(dāng) 然能幫助手術(shù)過程,但是邏輯上不可能由正在進(jìn)行手術(shù)的外科醫(yī)師來 完成。在該場景中,顯影助手可以顯著貢獻(xiàn)于外科或其他用手的 (hands-on)治療(診斷)效果。
C. 可交換的視點
或者,在本發(fā)明的例示實施例中,外科醫(yī)師可以看到助手的視點, 其實例在圖9中示出。由此,在本發(fā)明的例示實施例中,外科醫(yī)師具 有兩種類型的可用視圖。 一種視圖是普通的攝影探測器增強(qiáng)現(xiàn)實視圖, 也就是視頻覆蓋(overlaid)圖像連同三個2D三平面圖像,如圖6所示,以及另一種視圖是諸如圖7所示的從顯影助手側(cè)的視點。這兩種 視圖可以在兩個分離的窗口或顯示器中顯示,或者可以在外科醫(yī)師能 夠在該兩種視圖之間切換的單個窗口中查看。由此,外科醫(yī)師能夠例 如在圖6和圖7之間切換。從顯影助手的視圖(圖7),外科醫(yī)師能夠 從不同觀點,諸如位于例如腫瘤的目標(biāo)對象上的視點,來查看虛擬對 象與他的工具的關(guān)系。此外,在本發(fā)明的例示實施例中,顯影助手可
以也可以在他的顯示器內(nèi)看到外科醫(yī)師的場景。這例如在圖8中示出。
在主窗口中的是顯影助手的視圖,該顯影助手的視圖不受外科醫(yī)師持 有的視頻探測器工具的攝影器的位置所限制。此外,具有"畫中畫"
視圖,在圖8中,"畫中畫"視圖被示出為圖8左上角的小窗口 810, 該小窗口 810示出外科醫(yī)師的視圖就像他看到的一樣。這可以作為視 頻幀來傳輸,并由此不能讓顯影助手以任何方式來操縱。因此,圖8 示出主窗口,該主窗口顯示其中也可看到外科醫(yī)師的工具(如從頂部 到底部呈現(xiàn)的線)的虛擬3D世界。另一個較小窗口 810示出外科醫(yī)師 的真實視圖,其包括現(xiàn)場視頻信號加上在外科醫(yī)師的場景上可得的3D 對象的增強(qiáng)現(xiàn)實,并且其顯示參數(shù)單獨由外科醫(yī)師來選擇和操縱。由 此,顯影助手可以在圖6的主窗口的3D世界中以及在圖8左上部分中 的畫中畫窗口 810的2D視頻中,看到外科醫(yī)師的工具。
IV.例示界面交互
在本發(fā)明的例示實施例中,DextroNet的聯(lián)網(wǎng)功能可以利用在主 Dextrosc叩eTM3D界面中的"聯(lián)網(wǎng)"標(biāo)簽(tab)來控制。
A.建立連接
在本發(fā)明的例示實施例中,可以向用戶提供聯(lián)網(wǎng)模塊界面。該界 面可以例如提供三個按鈕"教師"、"學(xué)生"和"結(jié)束聯(lián)網(wǎng)"。經(jīng) 由該例示界面,用戶由此可以選擇作為教師或?qū)W生,或選擇結(jié)束 DextroNet會話。在本發(fā)明的例示實施例中,僅當(dāng)網(wǎng)絡(luò)中有教師時,學(xué) 生才可以建立連接。否則,可以向?qū)W生通知"不存在教師"消息來終 止連接。如果學(xué)生沒有3D輸入設(shè)備,則他可以使用如在DextroLAP應(yīng)用程序中所述的用于通信的鼠標(biāo)。
B. 教師動作
另外,可以向擔(dān)當(dāng)主用戶或"教師"的用戶顯示附加的界面特征。 在該例示實施例中,可以向教師提供學(xué)生IP列表以及"同步"按鈕。 可以使得該面板僅可由教師使用。當(dāng)新學(xué)生加入時,例如可以將例如 學(xué)生的初始場景的快照發(fā)送給教師并在學(xué)生列表中顯示。另外,可以 在文本框中指示例如學(xué)生的IP地址。如果具有多于一個的學(xué)生,則教
師可以滾動列表來查看其他學(xué)生的IP地址和快照。在本發(fā)明的例示實 施例中,可以使用這些快照來允許教師評估他的數(shù)據(jù)集與學(xué)生的數(shù)據(jù) 集的相對同步。例如,有兩種當(dāng)初始化聯(lián)網(wǎng)時完成同步的方法簡單 同步方法和完整同步方法。通常說來,如果教師和學(xué)生加載相同的數(shù) 據(jù)集,僅僅需要簡單同步。然而,如果他們加載的數(shù)據(jù)集不同,則教 師需要起動完整同步,否則稍后會有災(zāi)難。從多個學(xué)生發(fā)送的快照在 教師側(cè)上顯示他們各自的初始狀態(tài)(環(huán)境和數(shù)據(jù))。因此,教師可以 經(jīng)由快照來檢查學(xué)生是否加載了與教師相同的數(shù)據(jù)。如果不是,則他 可以警告學(xué)生并執(zhí)行完整同步。
C. 學(xué)生動作
在本發(fā)明的例示實施例中, 一旦用戶選擇作為學(xué)生時,則他失去 對他的虛擬控制面板的控制。他可以查看教師的操縱并指向他感興趣 的部分。然而,他在行為上受限制,因為他不能觸摸他的虛擬控制面 板,而教師則控制該虛擬控制面板。如注意到的,可以經(jīng)由專用按鈕
(類似于DextroLap中所述的用于PC實現(xiàn)的那些按鈕),或經(jīng)由不同 于由教師跨例示DextroNet操縱的"標(biāo)準(zhǔn)"控制面板的專用"學(xué)生"虛 擬控制面板,來便利學(xué)生可以進(jìn)行的有限的一組交互。
在本發(fā)明的例示實施例中,學(xué)生有兩種可以用來觀看教師操作的 方法。例如,他可以(i)遵循教師的視點,或(ii)從不同于教師的觀 點的觀點來查看數(shù)據(jù)集。在該例示實施例中,他可以通過簡單點擊他的指示筆或一些其他系統(tǒng)定義信號來在這兩個模式之間切換。
在本發(fā)明的例示實施例中,當(dāng)學(xué)生處于"接合(engaged)"或遵 循教師的觀點的模式時,可以例如提供詞"LockOn (鎖定)"的紅色 文本顯示。在該模式下,他不能旋轉(zhuǎn)或移動對象。如果他點擊指示筆 或發(fā)送一些其他信號來脫開,則"LockOn"文本可以例如消失,這指 示他可以從他自身的視點來査看數(shù)據(jù)集。在該"脫開"模式中,學(xué)生 可以例如使用左手工具來旋轉(zhuǎn)和移動所顯示的對象。
D. 停止網(wǎng)絡(luò)連接
在所示例示實現(xiàn)中,因為僅僅教師的工具可以觸摸虛擬控制面板, 所以由教師負(fù)責(zé)通過點擊"結(jié)束聯(lián)網(wǎng)"按鈕來結(jié)束聯(lián)網(wǎng)功能。 一旦聯(lián) 網(wǎng)結(jié)束,教師可以例如保持聯(lián)網(wǎng)會話期間他或她已經(jīng)對數(shù)據(jù)做出的所 有改變。然而,如果需要,學(xué)生可以例如將他的場景恢復(fù)到聯(lián)網(wǎng)之前, 從而恢復(fù)在他進(jìn)入聯(lián)網(wǎng)會話之前保存的情況。
在本發(fā)明的例示實施例中,在聯(lián)網(wǎng)期間,可能需要學(xué)生的數(shù)據(jù)與 教師的數(shù)據(jù)同步。因此,為了避免擾亂學(xué)生的本地數(shù)據(jù),當(dāng)學(xué)生按下 聯(lián)網(wǎng)按鈕時,例如,他自身的數(shù)據(jù)可以在聯(lián)網(wǎng)會話實際開始之前被自 動復(fù)制到一些備份目錄。因此,當(dāng)他結(jié)束聯(lián)網(wǎng)會話時,他可以通過從 備份目錄復(fù)制回數(shù)據(jù)來恢復(fù)他自身的數(shù)據(jù)。在本發(fā)明的例示實施例中, 一旦按下"結(jié)束聯(lián)網(wǎng)"按鈕則可以自動完成所述的恢復(fù)。
E. 例示服務(wù)器
在本發(fā)明的例示實施例中,可以在服務(wù)器-客戶機(jī)架構(gòu)上建立 DextroNet,如圖9所示。在該例示結(jié)構(gòu)中,教師930和學(xué)生920都是 客戶機(jī)。他們可以例如物理地連接到服務(wù)器910,可以使用該服務(wù)器 910來管理多重連接、連接注冊以及連接詢問。所有來自發(fā)送機(jī)(客戶 機(jī))的信息可以被例如首先傳輸?shù)椒?wù)器910。該服務(wù)器可以例如分析 接收機(jī)的IP地址,然后將該消息傳送到特定目的地。由此,在該例示實施例中,在教師或?qū)W生側(cè)上激活聯(lián)網(wǎng)功能之前,需要首先運行服務(wù) 器應(yīng)用程序。接著描述例示的服務(wù)器特征。
1. 多重連接
從低層視點來看,在本發(fā)明的例示實施例中,服務(wù)器可以使用復(fù) 用技術(shù)來支持多重連接。這可以是例如單進(jìn)程并行服務(wù)器,其中,數(shù) 據(jù)的到達(dá)觸發(fā)執(zhí)行。如果負(fù)載太高以至于CPU不能處理,則分時
(time-sharing)可以例如接管。另外,從高層視點來看,基于來自發(fā) 送機(jī)(客戶機(jī))的IP地址,服務(wù)器可以使用TCP/IP協(xié)議來單播、多播 或廣播消息到目的地。
2. 連接注冊
當(dāng)客戶機(jī)連接到服務(wù)器時,它可以例如在服務(wù)器上注冊它的IP地 址和聯(lián)網(wǎng)角色(例如教師或?qū)W生)。可以由服務(wù)器來負(fù)責(zé)例如確保兩 個標(biāo)準(zhǔn)(1)學(xué)生加入之前有教師,以及(2)僅有一個教師連接到 服務(wù)器。如果不滿足標(biāo)準(zhǔn)(1),則例如可以警告學(xué)生退出聯(lián)網(wǎng),或例 如,可以建議學(xué)生等待直到教師連接。如果不滿足標(biāo)準(zhǔn)(2),則第二 假定(putative)教師可以例如被警告退出聯(lián)網(wǎng)功能,或例如可以詢問 他是否期望作為學(xué)生進(jìn)行連接。
3. 連接詢問
在本發(fā)明的例示實施例中,客戶機(jī)可以詢問服務(wù)器關(guān)于當(dāng)前處于 連接環(huán)境中有多少同級(peer)客戶機(jī)以及這些同級客戶機(jī)是誰。以這 種方式,客戶機(jī)可以知道誰涉入通信。這對于教師來說是重要的,教 師保持當(dāng)前學(xué)生的動態(tài)列表。當(dāng)服務(wù)器接收到該"詢問同級"請求時, 它可以例如將所有同級客戶機(jī)的IP地址和端口發(fā)送回請求者。
4. 回答服務(wù)器詢問
在本發(fā)明的例示實施例中,可以經(jīng)由LAN自動檢測服務(wù)器。例如, 當(dāng)服務(wù)器的UDP套接字(socket)從LAN接收到關(guān)于期望服務(wù)器應(yīng)用程序的客戶機(jī)的廣播詢問時,它可以檢查運行應(yīng)用程序的名稱來查看 所期望的一個是否可用。如果可用,則服務(wù)器可以將其自身地址(IP: 端口)發(fā)送回進(jìn)行詢問的客戶機(jī)。
由此,在本發(fā)明的例示實施例中,當(dāng)用戶選擇他的聯(lián)網(wǎng)角色(例 如,當(dāng)他加入聯(lián)網(wǎng)連接時,在他的顯影環(huán)境中,通過按下聯(lián)網(wǎng)界面上 的"教師"或"學(xué)生"按鈕),他可以經(jīng)由內(nèi)聯(lián)網(wǎng)廣播包含服務(wù)器程 序名稱的詢問。該信息可以例如被發(fā)送到所有內(nèi)聯(lián)網(wǎng)機(jī)器上的指定端 口。如果服務(wù)器程序正在運行,它可以保持傾聽該指定端口。 一旦它 從客戶機(jī)接收到廣播消息,它可以檢查在服務(wù)器機(jī)器上的所有運行程 序的名稱,來查看是否匹配。如果是,則服務(wù)器可以例如將它自身的 地址(IP:端口)發(fā)送回到詢問的客戶機(jī)。同時,客戶機(jī)可以等待來自 服務(wù)器的回答。如果在一定時期后沒有回答回來,則客戶機(jī)可以報告
"無服務(wù)器運行"的出錯,以及可以例如再用(resume)正常獨立工作 狀態(tài)。
5.服務(wù)器啟動(launch)
在本發(fā)明的例示實施例中,DextroNet服務(wù)器可以作為無需安裝在 顯影機(jī)器上的獨立應(yīng)用程序來運行。如果通信在LAN內(nèi)發(fā)生,教師和 學(xué)生無需明確知道例如服務(wù)器的IP地址。DextroNet軟件可以例如自動 地定位服務(wù)器。如果通信經(jīng)由WAN進(jìn)行,則需要將服務(wù)器的IP和端 口提供給DextroNet。如果例如沒有檢測到本地服務(wù)器,并且沒有遠(yuǎn)程 服務(wù)器,則教師可以例如當(dāng)他嘗試開始聯(lián)網(wǎng)功能時在他的機(jī)器上自動 地啟動服務(wù)器應(yīng)用程序。
可選擇地,例如,可以將服務(wù)器功能與教師角色相結(jié)合。換句話 說,教師的機(jī)器可以變成服務(wù)器,以及學(xué)生的機(jī)器可以保持為客戶機(jī)。 然而,在該例示實施例中,因為來自3D顯影軟件的顯影命令以及同時 發(fā)生的來自Dexto)Net的通信命令,所以教師機(jī)器的負(fù)擔(dān)相對更重。由 此,例如,可以例如通過DextroScopeTM顯影循環(huán)來放慢DextroNet通信循環(huán)。這可以導(dǎo)致更多進(jìn)入或輸出的數(shù)據(jù)被留在等待緩存器中。因 此,在本發(fā)明的例示實施例中,如果數(shù)據(jù)隊列太長,則可以例如將"不
重要(insignificant)"的數(shù)據(jù)分組丟掉。也就是說,這些數(shù)據(jù)分組可 以例如不經(jīng)處理就從隊列去除。在該上下文中的"不重要"的數(shù)據(jù)分 組,指的是不影響程序/顯影的輸出的那些數(shù)據(jù)分組,諸如傳送不執(zhí)行 任何重要操作(例如鉆、剪切等)由此不影響數(shù)據(jù)集的(教師和學(xué)生 的)工具的運動的那些分組。
在該上下文中,要注意,如下面更詳細(xì)描述的,具有四種工具的
基本狀態(tài)"檢查"、"開始動作"、"執(zhí)行動作"以及"結(jié)束動作"。
在"檢查"狀態(tài)中,虛擬工具呈現(xiàn)為僅僅在虛擬世界中漫游而不執(zhí)行 任何有效的操作,例如,從一個位置移動到另一個位置。在該狀態(tài)下 的虛擬工具的位置和取向被認(rèn)為是"不重要"的數(shù)據(jù)分組。當(dāng)具有擁 塞聯(lián)網(wǎng)情況時,教師的"發(fā)送"緩存器將充滿未發(fā)送的分組。在這種 環(huán)境下,軟件將檢查"發(fā)送"緩存器,丟掉那些具有"檢查"狀態(tài)的 分組。因為大多數(shù)時候虛擬工具處于"檢查"狀態(tài),從而大大減少通
信量負(fù)載。例如,教師在他的"發(fā)送"緩存器中具有如(a)的以下消 息。當(dāng)網(wǎng)絡(luò)緩慢時,他僅僅發(fā)送如(b)中的消息到學(xué)生。在這種情況 下,學(xué)生將看到教師的工具從位置1 "跳到"位置n,然后執(zhí)行鉆入。
V.例示實現(xiàn)
圖10-49示出DextroNet的多種例示實現(xiàn)。該實現(xiàn)被設(shè)計為例如集 成到Dextroscope 運行RadioDexter 軟件等中,以及可以由此呈現(xiàn) 為在該系統(tǒng)中的附加功能模塊。在所示示例中,教師和學(xué)生可以通過 運行服務(wù)器程序的服務(wù)器來彼此通信。注意,在每個會話期間,可以 有多個學(xué)生,但是一次只有一名教師。
圖10-25示出隨著時間的例示教師和兩位學(xué)生的視圖之間的關(guān)系。 圖10、 14、 18和22的每一個提供并排的三幅視圖,然后在緊接著這 些附圖的三個附圖中以更大圖像示出每一幅圖。下面將描述這些附圖。圖10-25示出根據(jù)本發(fā)明例示實施例的例示教師和兩位學(xué)生的每一位 所見到的相應(yīng)視圖以及之間的關(guān)系。參考圖10,教師可以檢查學(xué)生是否被連接。教師的視圖如圖10 (a)所示,以及圖10 (b)和10 (c) 的每一個示出兩個例示學(xué)生也就是學(xué)生1和學(xué)生2的相應(yīng)視圖。在所 示示例中,教師和學(xué)生1使用Dextroscope型系統(tǒng),而學(xué)生2使用 DextroLap型系統(tǒng)。如下所述,圖11-13更詳細(xì)示出這些視圖的每一幅。參考圖11,教師可以看到他自身的工具1100、學(xué)生1的遠(yuǎn)程工具 1101以及學(xué)生2的遠(yuǎn)程工具1102。注意,因為學(xué)生2使用DextroLap 型系統(tǒng),所以學(xué)生2的遠(yuǎn)程工具實際上是光標(biāo),并因此不具有完全的 3D控制。圖11中示出的還有,每個學(xué)生的遠(yuǎn)程工具伴有該學(xué)生的計 算機(jī)的IP地址。在本發(fā)明的例示實施例中,可以改變該IP地址來顯示 學(xué)生的名稱??蛇x擇地顯示IP地址或?qū)W生名稱,或兩樣都顯示。這在 用于同時教導(dǎo)許多學(xué)生的本發(fā)明的例示實施例中尤其有用,以將每個 學(xué)生的名字顯示給教師。以這種方式,教師可以一直知道他尋址的人。圖ll也就是教師視圖中還可以見到用于多個學(xué)生的顯示的快照的 顯示窗口 1120。利用該快照窗口 1120,教師能夠具有看到學(xué)生的本地 視圖的能力。最終,具有三個聯(lián)網(wǎng)工具"同步"1150、"遠(yuǎn)程快照" 1160和"角色切換"1170。同步1150可以用于在學(xué)生和教師之間同步 數(shù)據(jù)集。如果對教師(或?qū)W生)來說明顯他們相應(yīng)的數(shù)據(jù)集的狀態(tài)已 經(jīng)偏離足夠多到創(chuàng)建混淆時,則可以使用該工具。遠(yuǎn)程快照1160僅僅 獲得在快照窗口 1120中顯示的特定學(xué)生的快照。這可以例如通過具有 連接學(xué)生的滾動列表的教師控制面板來便利。然后,教師可以例如滾 動通過學(xué)生列表并選擇一位學(xué)生。然后,當(dāng)教師按下例如"捕獲"按 鈕時,可以請求來自學(xué)生的工作站的快照。最終,角色切換1170允許切換教師和學(xué)生的角色。該處理可以被限制為由教師起動,因此,如 下更詳細(xì)描述的,該按鈕可以例如僅僅在教師的機(jī)器上可激活。圖12示出學(xué)生1的視圖。該視圖示出學(xué)生1的工具1201以及教師的工具1200。注意,學(xué)生1自身的IP地址與其工具一起呈現(xiàn)。例如, 對于教師的視圖來說,該特征可以被關(guān)閉,或可以用學(xué)生名字或一些其他標(biāo)識符來替代。學(xué)生見到的3D對象1225是與教師的視圖所示相 同的對象,并且處于相同的準(zhǔn)確觀點或視點。這是因為學(xué)生1的視圖 被"鎖定"到教師的視圖。由此,在學(xué)生1的屏幕的右上區(qū)域中顯示 鎖定符號(sign) 1290。還可以看到教師的工具1200,以及三個聯(lián)網(wǎng)工 具同步1250、遠(yuǎn)程快照1260和角色切換1270。因為學(xué)生1是學(xué)生 且不控制聯(lián)網(wǎng)功能,在快照窗口 1220中沒有顯示快照。實際上,如果 學(xué)生要看到教師的視圖,他所需要做的是鎖定到教師的視圖,如已經(jīng) 在圖12中示出的。因此,遠(yuǎn)程快照1260變灰(ghosted)。因為僅僅 教師可以執(zhí)行這些功能,所以同步1250變灰,角色切換1270不變。 圖13類似于圖12,并僅僅示出學(xué)生2的視圖。參考圖13,示出相同 的3D對象1325。注意,3D對象的學(xué)生1的視圖呈現(xiàn)得比教師和學(xué)生 2的視圖更透明(transparent)。這是因為雖然所有工作站可能運行相 同的程序,但是這些工作站可能具有不同的配置。例如, 一些可以使 得某些特征禁用,諸如,"當(dāng)由指示筆觸摸控制面板時,使得3D對象 變灰"。該特征可以例如加速指示筆與控制面板的交互。這是因為,根據(jù)用戶(一些可能使用在膝上型計算機(jī)上運行的 DextroLAP系統(tǒng), 一些可能具有較快的Dextroscope )可用的顯卡, 3D交互顯影軟件的一些更"修飾"功能可能不產(chǎn)生嚴(yán)格相同的視覺結(jié) 果,而是會從3D對象上的效果(該效果當(dāng)然需要嚴(yán)格相同以便維持同 步的視圖)看來表現(xiàn)相同。 一個這樣的修飾功能,例如,可以在圖13 中看到。為了當(dāng)用戶與控制面板交互(并因此需要負(fù)責(zé)精確點擊按鈕 和滑塊)時加速顯示,可以在3D視圖上方透明地(transparently)捕 獲和粘貼3D對象的繪制圖像,僅僅刷新控制面板和指示筆。如果這不 在學(xué)生的工作站處進(jìn)行復(fù)制,應(yīng)用程序上的結(jié)果將是相同的,但是交 互變慢,并且對象的視覺會不同(也就是不透明)。再次參考圖13,學(xué)生2也處于鎖定模式,并由此在圖13中還顯示鎖定符號1390。學(xué)生2可以看到他自身的工具,在這種情況下是光標(biāo)1302。顯示的還有學(xué)生2的本地IP地址,該本地IP地址在可選擇例示實施例中可以例如用指示符來替換或增強(qiáng),如上所述。類似于學(xué)生1的情況,在快照窗口 1320中沒有顯示快照,并且聯(lián)網(wǎng)工具同步1350 和遠(yuǎn)程快照1360都變灰,而角色切換1370不變。下面描述圖14-17,這些附圖示出接著圖10-13所示的例示時伺點 時的圖IO的教師和兩位學(xué)生。參考圖14,教師在3D對象的右后側(cè)處 的立方體對象的角和3D對象的左后側(cè)處的錐形體對象的尖端之間繪 制直線。教師使用例示測量工具來完成繪制,由此測量框在測量的端 點附近呈現(xiàn),并顯示"47.68 mm"。兩位學(xué)生都處于鎖定模式。下面 參考圖15-17描述這三幅視圖的細(xì)節(jié)。圖15示出教師的視圖??梢姷浇處煹墓ぞ?500,使用教師的工具 1500來進(jìn)行從3D對象1525中的立方體對象的角到錐形體對象的尖端 的測量。還可見到學(xué)生1的遠(yuǎn)程工具1501連同學(xué)生1的IP地址,以及 學(xué)生2的遠(yuǎn)程工具(光標(biāo))1502連同學(xué)生2的IP地址??梢詮膱D15 的教師視圖看到,學(xué)生1正將他的遠(yuǎn)程工具指向教師在立方體上開始 測量的點附近。學(xué)生2正指向錐形體的基部附近。參考圖16,學(xué)生1的視圖,可以看到教師的工具1600。教師的工 具當(dāng)然遠(yuǎn)離學(xué)生1。還可見到學(xué)生1的工具1601、 3D對象1625以及 教師做出的測量線以及測量框1692。另外可見的是鎖定符號1690,指 示學(xué)生1被鎖定到教師的視圖。參考圖17,示出學(xué)生2的視圖。學(xué)生 2被鎖定到教師的視圖,由此顯示鎖定符號17卯。學(xué)生2的遠(yuǎn)程工具 1702連同他的IP地址一起顯示,教師的工具1700不變。另外可見教 師在3D對象1725中的立方體對象與錐形體對象之間做出的測量線。 因此,類似示出測量框1792,該測量框1792示出教師做出測量的長度。圖18-21示出具有顯著差異的圖10-17的教師和學(xué)生。在圖18-21中,學(xué)生1已經(jīng)將他的視圖從教師視圖脫開。詳細(xì)說來并參考圖19,教師可以看到他自身的工具1900以及學(xué)生1的遠(yuǎn)程工具1901和學(xué)生2 的遠(yuǎn)程工具1902的每一個。如可以在圖19中看到的,教師剛好利用 他的工具1900完成了從立方體對象的上左后角到錐形體對象的尖端的 測量。類似地,參考圖20,現(xiàn)在看到學(xué)生l不再鎖定,由此在該視圖 中沒有出現(xiàn)鎖定符號。因為學(xué)生1已經(jīng)從教師的視圖脫開,他可以從 上面或任何其他他所選擇的視點來查看3D對象2025。另外,在脫開 模式下,例如無需顯示控制面板,如這里所示,以及為了實現(xiàn)本地交 互,可以向?qū)W生示出如在DextroLap應(yīng)用程序中所述的呈現(xiàn)于顯示器一 側(cè)的一組控制按鈕,或例如可以提供本地簡化控制面板。如上所述, 可以例如使得該本地控制面板變灰,或者如果可以被容易識別出不是 教師控制下的"真實"控制面板,則可以利用該本地控制面板的簡化 外觀而無需變灰。參考圖21,示出學(xué)生2的視圖。學(xué)生2依然被鎖定 到教師,因此顯示鎖定符號2102。學(xué)生2可以看到教師的工具2100以 及他自身的工具2102。他還可以看到3D對象2125以及教師做出的測 量線。下面參考圖22-25示出與圖18類似的視圖,不同之處在于,教師 的筆的位置發(fā)生改變。參考圖23,教師的視圖,注意該視圖與圖19除 了教師工具的位置稍微移動之外相同。由此,教師的工具2300實質(zhì)上 (essentially)已經(jīng)圍繞3D對象2325中的錐形體對象的尖端進(jìn)行旋轉(zhuǎn)。 還可在學(xué)生1的遠(yuǎn)程工具2301以及學(xué)生2的遠(yuǎn)程工具2302在圖19的 視圖中占有的相同位置處看到它們。參考圖24,學(xué)生1的脫開視圖, 唯一發(fā)生改變的是教師的工具2400的位置和取向以及學(xué)生1的工具 2401的取向。如可以通過圖20與24的比較看到,學(xué)生l的工具已經(jīng) 圍繞測量的終點(實質(zhì)上是3D對象2425中的錐形體的尖端)向下旋 轉(zhuǎn),以便與測量線形成相較在圖20中與該測量線形成的角度更小的角 度。注意,學(xué)生1的視圖不示出學(xué)生2的光標(biāo)。這是因為,如上所述, 僅僅教師可以看到所有學(xué)生,而每個學(xué)生只能看到教師。由此,每個 學(xué)生實際上不知道其他學(xué)生的存在(當(dāng)然,除非一個學(xué)生切換角色變成教師,在下面更詳細(xì)描述該過程)。
類似地,圖2示出學(xué)生2的視圖。圖25實質(zhì)上除了教師遠(yuǎn)程工具
2500的位置和取向之外與圖21相同。學(xué)生2自身的工具2502沒有發(fā) 生移動,并且3D對象2525也沒有移動。學(xué)生2依然處于相對于教師 視圖的鎖定模式,并由此在該學(xué)生2的視圖中顯示鎖定符號2590。
圖26到29示出替換例示實施例,其中,教師和兩位學(xué)生加入聯(lián) 網(wǎng)會話。在圖26中,教師連接到網(wǎng)絡(luò)。該系統(tǒng)顯示消息"你是教師" 并且可以看到教師的虛擬工具。尚未連接學(xué)生。在圖27,第一位學(xué)生 加入。在數(shù)據(jù)部分(section)中看到他的工具和IP地址,并且還可以 見到他的視圖的初始快照(以及他加入的時間)。在圖28中,第二位 學(xué)生加入,并且他的工具和IP地址現(xiàn)在可被教師獲得。每個學(xué)生的IP 地址呈現(xiàn)為他們的虛擬工具附近的文本框。在圖29和30中,教師分 別與第一位學(xué)生和第二位學(xué)生的每一位同步。如上所述,教師可以通 過從聯(lián)網(wǎng)控制面板的左面板中顯示的學(xué)生列表中選擇學(xué)生,來選擇與 哪位學(xué)生同步。
圖31-43示出根據(jù)本發(fā)明例示實施例的多個"外科醫(yī)師"和"顯 影助手"視圖的序列。這些附圖示出例如,當(dāng)外科醫(yī)師使用DEX-Ray 型系統(tǒng)進(jìn)行手術(shù),并且使用例如Dextroscope 或DextroBeam型系統(tǒng) 的顯影助手經(jīng)由網(wǎng)絡(luò)連接到外科醫(yī)師的機(jī)器上時,可以如何發(fā)生例示 協(xié)作。該范例還可以例如應(yīng)用于這樣的任何情況,在該情況中, 一 人員正執(zhí)行診斷或治療過程并由此獲得關(guān)于受者的實時信息,并且另 一個人員正在接收該實時數(shù)據(jù)并使用該實時數(shù)據(jù)以及關(guān)于受者的3D 數(shù)據(jù)來產(chǎn)生受者的顯影,從而協(xié)助第一個人員。該例示顯影助手可以 使用例如他可用的視點的自由(也就是他可以按照期望自由地旋轉(zhuǎn)、 平移和放大在3D數(shù)據(jù)中的對象,而不限于用外科醫(yī)師查看這些對象的 位置和取向來查看這些對象)來看看外科醫(yī)師不能看到的東西,并由 此協(xié)作地引導(dǎo)外科醫(yī)師通過術(shù)野中的患者的組織。下面描述這些附圖。圖31示出兩個例示的顯影助手("VA")視圖。通常,在外科 醫(yī)師/顯影助手范例中,外科醫(yī)師與VA視圖脫開,除非他決定鎖定并查看VA已經(jīng)產(chǎn)生的優(yōu)化顯影,該優(yōu)化顯影通常不會與他在患者或受者 的操縱中物理使用的進(jìn)路的視點和角度相關(guān)。在圖31的環(huán)境中,以及 通常當(dāng)使用VA來協(xié)助使用手術(shù)導(dǎo)航系統(tǒng)諸如Dex-RayTM型系統(tǒng)的外 科醫(yī)師,外科醫(yī)師可以與學(xué)生近似地行動,如上所述,而顯影助手則 可以與教師近似地行動,如上所述。這是因為這樣的事實,由于進(jìn)行 手術(shù)的外科醫(yī)師的視點局限于探測器或他持有的其他器械的視點,所 以導(dǎo)致他具有較小的關(guān)于3D虛擬數(shù)據(jù)的顯示的自由度。例如,使用 Dex-RayTM系統(tǒng),觀看3D數(shù)據(jù)的視點與手持探測器中的攝影機(jī)的視點 相同。另一方面,因為VA僅僅看到3D虛擬數(shù)據(jù),所以VA能夠不受 限制地改變視點。因為外科醫(yī)師通常期望顯示增強(qiáng)現(xiàn)實(或,如果使 用其他手術(shù)導(dǎo)航系統(tǒng),則期望顯示3D數(shù)據(jù)就像從與他被跟蹤的器械的 視點充分相似的視點看到的一樣),外科醫(yī)師的視圖通常與VA的視圖 脫開。因此,參考圖31,顯影助手旋轉(zhuǎn)了頭骨,其表示外科醫(yī)師的操作 或手術(shù)中感興趣的對象,以便能夠看到左邊的冠狀視圖以及右邊的矢 狀視圖。在每個顯影助手的視圖中,可見到外科醫(yī)師(擔(dān)當(dāng)學(xué)生)的 遠(yuǎn)程工具3100。在矢狀視圖中,容易看到頭骨開口。注意,脫開的外 科醫(yī)師的視點,不同于這些的每一個,并且將在下面結(jié)合圖34更完全 地討論。如圖34所示,外科醫(yī)師的實際視圖更沿著外科醫(yī)師的遠(yuǎn)程工 具3100的軸,因為該軸是他的手術(shù)進(jìn)路,如下將知道的。圖32和33 分別是圖31的放大版本。圖34示出對應(yīng)于圖31的顯影助手的視圖的例示的外科醫(yī)師的視 圖。該視圖示出外科醫(yī)師具有的實際視點,并且該實際視點被本地地 示出在他的例如Dex-Ray 型系統(tǒng)上。外科醫(yī)師的視點對應(yīng)于他所持 有的攝影機(jī)探測器中的攝影機(jī)的視點(并由其限制),如在Camera Probe申請中所述,或,例如,如果使用另一手術(shù)導(dǎo)航系統(tǒng),則對應(yīng)于他在
患者中的進(jìn)路的物理方向和路徑。在圖34中,外科醫(yī)師的工具3400 對應(yīng)于他持有的實際攝影機(jī)探測器或?qū)Ш教綔y器或器械。圖34中還可 見到頭骨開口3410;外科醫(yī)師的IP地址3416,其如上所述可以利用 一些其他標(biāo)識符來替換或增強(qiáng);以及僅僅部分可見的球體3405。顯影 助手可以通過優(yōu)化他的視點來得到該對象的更好視圖,從而幫助外科 醫(yī)師在上面定位點。假設(shè)在圖31到43中,球體3405 (參考圖34)表 示感興趣的對象,諸如外科醫(yī)師正在處理的腫瘤。
圖35示出顯影助手的視圖以及具有頭骨開口的頭骨的相應(yīng)的外科 醫(yī)師的脫開視圖,如上所述。在圖35中,顯影助手協(xié)助外科醫(yī)師在球 體上定位點。顯影助手在他的視圖中已經(jīng)剪切掉頭骨的側(cè)部來暴露球 體。另一方面,如所述的,外科醫(yī)師的視圖,圖35 (b)受到以下事實 的限制他的探測器在真實世界中移動,可以僅僅移動到頭骨或頭骨 開口中的真實孔中。相反,顯影助手的視圖不受限制,使得他可以自 由地操縱數(shù)據(jù)從而最好地顯影該球體。在圖35 (a)的每個視圖中,可 見到外科醫(yī)師的工具3500。如可以在圖35 (b)中看到的,外科醫(yī)師 的工具的軸或多或少對應(yīng)于他的視點,而在圖35 (a)中,顯影助手相 對于外科醫(yī)師的真實路徑從后面查看對象。圖36和37是圖35 (a)和 (b)的相應(yīng)放大。如可以在圖37中看到的,清楚地顯示外科醫(yī)師的 IP地址3716。
VI.與其他手術(shù)導(dǎo)航系統(tǒng)的集成
在本發(fā)明的例示實施例中,可以經(jīng)由DextroNet將來自變化的制造 商的具有3D跟蹤(或2D跟蹤)性能的設(shè)備連接到3D交互顯影系統(tǒng), 諸如DextroscopeTM。該"外地"設(shè)備將需要能夠響應(yīng)于經(jīng)由DextroNet 網(wǎng)絡(luò)發(fā)送的詢問或命令,提供某些信息到該DextroNet。例如,美國 Colorado州Louisville的Medtronic生產(chǎn)用于神經(jīng)外科手術(shù)的多種導(dǎo)航
(或圖像引導(dǎo))系統(tǒng)。 一個這樣的導(dǎo)航系統(tǒng)是例如TREONTM系統(tǒng)。 Medtronic還生產(chǎn)應(yīng)用程序界面(API)網(wǎng)絡(luò)界面軟件,其允許數(shù)據(jù)從
58該導(dǎo)航系統(tǒng)實時地流向外部應(yīng)用程序。
類似地,另一家制造商,德國Munich的BrainLAB AG,具有類似 的軟件產(chǎn)品。該產(chǎn)品使用用戶定制設(shè)計的客戶機(jī)/服務(wù)器架構(gòu),稱為矢 量視覺鏈路(VV鏈路),其從顯影工具箱(VTK)擴(kuò)展了功能。VV 鏈路使得能夠?qū)崟r進(jìn)行雙向數(shù)據(jù)傳輸,諸如圖像數(shù)據(jù)集、顯影和工具 位置。這些設(shè)備以與DEX-RayTM系統(tǒng)相似的方式提供注冊(registratkm) 信息和探測器坐標(biāo)信息。然而,因為它們不基于增強(qiáng)顯示,所以不提 供視頻信息。在本發(fā)明的例示實施例中,DextroNet服務(wù)器的修改可以 結(jié)合諸如StealthlinkTM或VV鏈路軟件,以及在連接后,其中可以交換 患者信息和注冊細(xì)節(jié),D extroNet例如可以詢問這些系統(tǒng)來獲得它們的 探測器坐標(biāo)。由此,在本發(fā)明的例示實施例中,這些系統(tǒng)可以用作外 科醫(yī)師的工作站,并可以提供空間坐標(biāo)到教師(VA)工作站。注意, 與上述的DEX-RayTM實現(xiàn)不同,如當(dāng)前配置的這些系統(tǒng)不會具有在手 術(shù)期間從VA的工作站向外科醫(yī)師顯示視圖的選項。為了做這些,則需 要它們將實施本發(fā)明例示實施例的方法的軟件結(jié)合到它們的導(dǎo)航系統(tǒng) 中。
類似的,如上注意到,在本發(fā)明的例示實施例中,要跨例示 DextroNet連接的機(jī)器可以來自不同的制造商,具有不同的配置,以及 具有不同的類型。如上所述,諸如Dex-Ray 系統(tǒng)或Medtronic或 BrainLAB系統(tǒng)的手術(shù)導(dǎo)航系統(tǒng),可以跨DextroNet連接到諸如 DextroscopeTM、 DextroBeam 等的標(biāo)準(zhǔn)3D交互顯影工作站。如上面 還注意到的,僅僅發(fā)送3D位置數(shù)據(jù)的系統(tǒng),諸如不使用增強(qiáng)現(xiàn)實的手 術(shù)導(dǎo)航系統(tǒng),也可以被連接。
下面描述的圖44-49呈現(xiàn)根據(jù)本發(fā)明例示實施例的DextroNet的又 一可選擇使用。該示例包括例示的心臟病專家產(chǎn)生2D的熒光透視圖 像,該2D熒光透視圖像被經(jīng)由DextroNet發(fā)送到交互3D'顯影系統(tǒng), 諸如DeXtrOSCOpeTM。范例類似于上述的外科醫(yī)師和顯影助手的示例。然而,在這種情況下,沒有外科醫(yī)師而有的是介入心臟病專家。在該 例示實施例中,由于顯影助手對于術(shù)前獲得的CTA掃描的不受限制的3D操縱,導(dǎo)致顯影助手可以幫助該介入心臟病專家顯影他關(guān)注的解剖結(jié)構(gòu)。由此,參考圖44,示出從Cathlab獲得的例示熒光透視圖像。該 圖像通過在患者的胸部上照射X射線而獲得。在圖像中可見到動脈, 更精確地說,可見到吸收服用的造影劑的動脈的內(nèi)部的那些部分。圖45示出例示標(biāo)準(zhǔn)介入心臟病專家的視圖。參考圖45,介入心臟 病專家僅僅從由例示熒光透視設(shè)備提供的視點看到吸收服用的造影劑 的脈管的2D投影。圖45所示的圖像是該傳統(tǒng)介入心臟病專家視圖的 模擬投影(沒有獲得實際熒光透視圖像和相關(guān)聯(lián)CTA的匹配集)。通 過對CTA數(shù)據(jù)操作來獲得模擬(分割CTA的冠狀動脈(由此僅僅示 出該動脈而不示出其他組織,其是當(dāng)造影劑流入動脈并與由熒光透視 設(shè)備發(fā)射的X射線交互作用時作用的結(jié)果),對它們著暗色就像它們 是熒光透視的結(jié)果,以及確定(orient)分割的動脈的取向并獲取快照, 然后獲取未經(jīng)分割的CTA的快照)。圖46示出與圖45的臨床醫(yī)師視圖對應(yīng)的例示的顯影助手的視圖。 該例示的顯影助手可以與圖45的介入心臟病專家協(xié)作。如注意到,該 顯影助手具有對于術(shù)前CTA的不受限制的3D操縱。圖46示出VA正 在檢查的冠狀動脈的放大視圖。圖46-48示出根據(jù)本發(fā)明例示實施例在 介入心臟病專家與顯影助手之間的例示交互。它們示出將CTA視圖與 熒光透視視圖配準(zhǔn)的手動方法。這里,例如,VA可以經(jīng)由DextroNet 獲得諸如圖45的熒光透視圖像,以及然后,例如,使用該圖像可以調(diào) 節(jié)CTA (例如分割的冠脈)以匹配該接收的視圖。一旦VA定向 (oriented),并知道心臟病專家正在查看什么(具有熒光透視設(shè)備上 的限制,其通常不被跟蹤,但是具有心臟病專家很了解的一些標(biāo)準(zhǔn)位 置),然后不受限制的3D操縱允許VA向心臟病專家指示什么是什么。他可以例如利用諸如"左冠狀動脈"或"LCA"以及類似地例如"右
冠狀動脈"或"RCA"的注釋來標(biāo)記那些脈管,或者例如,他可以指 向(3D)脈管中的狹窄處,然后可以將該狹窄處在Cathlab圖像中(投 影、或如果可得到該顯示則立體地)提供給介入心臟病專家。此外, 例如,VA可以測量,以及如果VA可以看到來自熒光透視儀的新圖像, 他可以識別導(dǎo)管在哪里以及推斷3D位置,然后將到關(guān)鍵解剖界標(biāo)的距 離傳輸回心臟病專家。
圖47示出與上述圖8的場景類似的場景。顯影助手可以看到完整 的3D圖像和主圖像,并且還可以在左上角落中看到快照或"畫中畫" 圖像。該畫中畫圖像由例如在介入心臟病專家的Cathlab機(jī)器處的例示 熒光透視設(shè)備產(chǎn)生。實際上就是上述圖45所示的圖像。顯影助手可以 使用DextroscopeTM或等效設(shè)備,以操縱術(shù)前CTA數(shù)據(jù),以最佳地從與 熒光透視設(shè)備中相同的視點分割(或再分割)并顯影脈管。他可以例 如通過將視點對準(zhǔn)到他在畫中畫中看到的來完成這些。在VA的視圖的 遠(yuǎn)處右側(cè)還可以見到例示的交互按鈕,這些交互按鈕類似于在 DextroLap實現(xiàn)上共有看到的那些按鈕,示出,如果環(huán)境需要則VA可 以例如使用DextroLap,或例如,他可以使用完整的Dextroscope 。
圖48示出VA可以生成的另外可選擇例示3D視圖。也就是說, 如注意到的,因為VA能夠訪問全部CTA數(shù)據(jù),由此可以例如得到 (bringup)獲取平面,如圖48的左側(cè)圖像中所示,或例如可以分割數(shù) 據(jù)以僅僅展現(xiàn)冠狀動脈,如圖48的右側(cè)圖像中所示。
最終,圖49示出可以例如在介入心臟病專家的Cathlab設(shè)備處顯 示的并排圖像。介入心臟病專家可以在相同的顯示器上將他通過本地 機(jī)器獲得的熒光透視視圖(左)與由在例如DextrosMpe 或DextroLap 機(jī)器上的顯影助手產(chǎn)生的視圖進(jìn)行比較。該比較機(jī)構(gòu)(facility)可允許 心臟病專家更好地解釋熒光透視投影。使用在介入心臟病專家與顯影 助手之間的通信,顯影助手可以例如按照介入心臟病專家的期望和需要對他本地產(chǎn)生并經(jīng)由DextroNet發(fā)送到介入心臟病專家以供顯示(如 圖49所示)以及由介入心臟病專家進(jìn)行比較的視圖進(jìn)行例如精煉 (refine)、再分割以及優(yōu)化。這可以通過例如使用諸如Cathlab系統(tǒng) 的特征來完成,該Cathlab系統(tǒng)具有示出熒光透視程序的多個監(jiān)視器。 向另一監(jiān)視器添加3D圖像是簡單的任務(wù)。這些后面的圖像可以例如匹 配熒光透視或不匹配熒光透視。該系統(tǒng)還示出熒光透視設(shè)備位置,以 及其他患者信息?;?,例如,其他顯示器,諸如無菌條件下使用的具 有簡單觸摸屏的監(jiān)視器可以被用于將VA的顯影顯示回給臨床醫(yī)師。
VII.角色切換
在本發(fā)明的例示實施例中,可以支持角色切換功能。角色切換是 在例示DextroNet中的特征,其允許教師與學(xué)生(或外科醫(yī)師與顯影助 手)在線交換它們各自的角色。在教師-學(xué)生范例中,學(xué)生除了平移、 旋轉(zhuǎn)和指向?qū)ο笾獠荒茉?D數(shù)據(jù)集中操縱對象。利用角色切換,一 旦學(xué)生從教師接管控制,則他可以例如繼續(xù)教師對于對象的工作。這 在某些程度上建議協(xié)作模式。此外,因為每次在網(wǎng)絡(luò)上僅僅存在一名 教師,所以該協(xié)作是串行的,而沒有沖突問題。
在例示的DextroNet中,教師和學(xué)生可以是低層用戶,這使得角色 切換很自然。角色切換可以使用當(dāng)前通信會話(也就是聯(lián)網(wǎng)無需停止 和重新連接),并且可以在高層上交換教師和學(xué)生角色。以這種方式, 通過避免重新連接所用的耗時,角色切換可以非???。
角色切換可以支持多個學(xué)生。教師決定他將控制權(quán)轉(zhuǎn)讓給哪名學(xué) 生。其他學(xué)生可以保持原樣,或例如可以被告知教師已經(jīng)被改變。如 上注意到,在本發(fā)明的例示實施例中,教師和(多名)學(xué)生可以是例 如低層意義上的客戶機(jī)。如圖9所示,在本發(fā)明的例示實施例中, DextroNet可以使用服務(wù)器-客戶機(jī)架構(gòu)。在該架構(gòu)中,教師和學(xué)生都是 客戶機(jī)。該服務(wù)器還可以例如被用于管理在教師與多個學(xué)生之間的通 信。由此,角色切換可以使用當(dāng)前通信會話而無需停止并重新連接聯(lián)網(wǎng)。在整個過程期間,無需發(fā)生物理連接的改變。僅僅需要在服務(wù)器 上指定并重新注冊邏輯新角色。在所有客戶機(jī)中傳輸角色變化的大體 過程可以例如如下所述。在學(xué)生請求控制權(quán)之后,教師告知其他學(xué)生 和服務(wù)器準(zhǔn)備好進(jìn)行角色切換。然后,例如,教師和學(xué)生都可以如下 根據(jù)例示角色改變來重設(shè)并更新他們的工具-將要變成學(xué)生的教師的機(jī)器將學(xué)生工具變成本地工具,并將他的 教師工具改變?yōu)橹付ǖ倪h(yuǎn)程工具(也就是新教師的工具)。從所顯示的工 具中移除其他遠(yuǎn)程學(xué)生工具。,將要變成教師的學(xué)生的機(jī)器將他的教師工具變成本地工具,并添 加其他學(xué)生以及將要變成學(xué)生的教師的工具表示(學(xué)生工具)。-其他學(xué)生的機(jī)器更新他們的教師工具以表示新教師。他們的本地 工具保持作為學(xué)生工具。一旦完成了這些角色改變,所有客戶機(jī)可以在服務(wù)器上重新注冊 他們的新角色。然后可以完成角色切換。因為使用正在進(jìn)行的通信會話,該通信會話可以支持多個學(xué)生, 所以可能需要注意數(shù)據(jù)流的管理。在例示角色切換之前和之后所接收 的數(shù)據(jù)需要例如被分離,以及在服務(wù)器上的角色的重新注冊需要例如 被同步。為了實現(xiàn)這些,則整個過程可以例如被分成三個階段為角 色切換做好準(zhǔn)備(階段I)、改變角色(階段II)以及在服務(wù)器上重新 注冊新角色(階段III)。在每個階段結(jié)束時,可以同步所有客戶機(jī)的 狀態(tài)。該過程可以參考圖50-52總結(jié)如下。A.階段I (圖50)(1)教師信令通知所有學(xué)生他會將控制轉(zhuǎn)讓給誰。在他從他的所 有學(xué)生接收到確認(rèn)后,他的工具被重設(shè),并且告知服務(wù)器他現(xiàn)在準(zhǔn)備好進(jìn)行角色切換,并且進(jìn)入蛇神(zombie)狀態(tài)(也就是機(jī)器只能接收但是不能發(fā)送數(shù)據(jù)的狀態(tài))。
(2)當(dāng)學(xué)生接收到來自教師的信號時,他的機(jī)器檢查他會變成教 師還是亦然保持為學(xué)生,并向教師確認(rèn)。同時,在他重設(shè)他的工具之 后還需要告知服務(wù)器現(xiàn)在已經(jīng)準(zhǔn)備好進(jìn)行角色切換。該重設(shè)不會影響 容積對象上已經(jīng)發(fā)生的改變。然后,他進(jìn)入被動或"蛇神"狀態(tài),該 狀態(tài)是所述的其中機(jī)器僅僅接收消息而不發(fā)送任何東西的狀態(tài)。
在本發(fā)明的例示實施例中,用戶無需擔(dān)心在角色切換過程中的所 有通知。 一旦用戶按下"角色切換"按鈕則可以自動地完成所有角色 切換處理(并由此關(guān)于上述的"在做一些事情"的教師或?qū)W生以及接 下來的事情實際上都稱為實現(xiàn)這些動作的例示軟件)。
在本發(fā)明的例示實施例中,服務(wù)器可以用于管理在教師和學(xué)生之 間的通信。其可以具有例如存儲列表來記憶他們的角色。因此,當(dāng)切 換角色時,需要告知服務(wù)器。此外,在角色切換期間,在每個極端結(jié) 束時需要同步教師和學(xué)生的狀態(tài)。例如,服務(wù)器還可以協(xié)調(diào)該過程。 例如,在階段I結(jié)束時,學(xué)生/教師需要告知服務(wù)器他是否已經(jīng)準(zhǔn)備好 進(jìn)行角色切換。此后,他可以進(jìn)入蛇神狀態(tài),等待來自服務(wù)器的他現(xiàn) 在可以改變角色的指令。服務(wù)器可以例如計數(shù)多少客戶機(jī)準(zhǔn)備好進(jìn)行 角色切換。僅僅在他發(fā)現(xiàn)所有客戶機(jī)準(zhǔn)備好后,他可以發(fā)送指令到每 個人從而他們可以進(jìn)入階段II。
B. 階段II (圖51):
(3) 當(dāng)服務(wù)器發(fā)現(xiàn)所有客戶機(jī)準(zhǔn)備好進(jìn)行角色切換時,他發(fā)送消
息到他{|']并將他們從蛇神狀態(tài)恢復(fù)。
(4) 一旦恢復(fù)客戶機(jī)(教師/學(xué)生),客戶機(jī)改變他的角色、告 知服務(wù)器并再次進(jìn)入蛇神狀態(tài)。
C. 階段III (圖52):(5) —旦服務(wù)器從所有他的客戶機(jī)得到角色切換消息,則他首先 恢復(fù)教師。
(6) 教師在服務(wù)器上重新注冊并告知服務(wù)器。然后,服務(wù)器恢復(fù)學(xué)生。
(7) 在學(xué)生在服務(wù)器上重新注冊并且教師接收到來自學(xué)生的初始 快照之后,教師請求服務(wù)器恢復(fù)下一個學(xué)生。
(8) 例如,可以重復(fù)步驟(7)直到所有學(xué)生完成重新注冊。
附加地,在本發(fā)明的例示實施例中,對于多個參與者,教師角色 可以在參與者之間傳送,而每個角色切換遵循上述過程。
VIII.數(shù)據(jù)格式
在本發(fā)明的例示實施例中,可以使用以下策略來確保在遠(yuǎn)程終端
中的適當(dāng)顯示
A. 數(shù)據(jù)
每側(cè)(教師/學(xué)生)保持?jǐn)?shù)據(jù)的相同副本。如果數(shù)據(jù)不同,則可以 同步整個數(shù)據(jù)集(壓縮并發(fā)送數(shù)據(jù)文件)。
B. 啟動
在本發(fā)明的例示實施例中,當(dāng)啟動聯(lián)網(wǎng)功能時,可以在兩側(cè)上將 虛擬控制面板同步。在例如Dextroscope/DextroBeam工作站中,虛擬 控制面板需要利用交互期間3D跟蹤器所擱置的物理丙稀酯基座進(jìn)行 精確校準(zhǔn),以便虛擬工具可以觸摸在虛擬控制面板上的對應(yīng)部分。由 此,校準(zhǔn)和配置是本地的,且隨著機(jī)器的變化而不同。這可以例如導(dǎo) 致聯(lián)網(wǎng)時的失配問題教師的工具可能例如不能夠觸摸學(xué)生的控制面 板。為了避免這個問題,在本發(fā)明的例示實施例中,可以同步控制面 板。當(dāng)激活聯(lián)網(wǎng)功能時,可以將教師的控制面板的位置、取向和尺寸 發(fā)送到學(xué)生,并替換學(xué)生自身的控制面板的參數(shù)。當(dāng)聯(lián)網(wǎng)功能結(jié)束時, 可以恢復(fù)學(xué)生的先前配置以獨立工作。在本發(fā)明的例示實施例中,當(dāng)啟動聯(lián)網(wǎng)功能時,可以同步在兩側(cè) 上的視點。為了適當(dāng)?shù)娘@示,教師和學(xué)生應(yīng)該共享相同的眼睛位置、
査看位置、投影寬度和高度、滾動角(roll angle)等。屬于視點的所有 信息由此應(yīng)該在聯(lián)網(wǎng)功能的開始時被同步。
在本發(fā)明的例示實施例中,當(dāng)啟動聯(lián)網(wǎng)功能時,可以同步兩側(cè)上 的電子變焦框。由此,當(dāng)聯(lián)網(wǎng)功能開始時,兩側(cè)上的電子變焦框需要 利用位置、取向、范圍(bound)、計算機(jī)屏幕區(qū)域等來進(jìn)行同步。
C. 同步窗口小部件(widget)
在本發(fā)明的例示實施例中,當(dāng)聯(lián)網(wǎng)功能開始時,兩側(cè)上的控制面 板的初始狀態(tài)可以不同滾動條位置、按鈕和標(biāo)簽的位置、顏色查找 表的列表等。需要校正所有這些參數(shù)。
D. 通信
在本發(fā)明的例示實施例中,可以使用兩種類型的坐標(biāo)系世界坐 標(biāo)和對象坐標(biāo)。世界坐標(biāo)是附著到虛擬世界上的坐標(biāo)。對象坐標(biāo)是附 著到虛擬世界中的每個虛擬對象上的坐標(biāo)。在本發(fā)明的例示實施例中, 可以在世界坐標(biāo)中顯示所有虛擬工具。教師和學(xué)生的每一個可以通信 他們使用的坐標(biāo)系的類型。
當(dāng)學(xué)生處于接合模式("LockOn")時,教師和學(xué)生都發(fā)送他的 工具的名稱、在世界坐標(biāo)中的狀態(tài)、位置、取向和尺寸到他的同伴。
當(dāng)學(xué)生處于脫開模式(沒有"LockOn")時,在教師一側(cè)上,如 果教師的工具觸摸控制面板,則教師發(fā)送工具的名稱、世界坐標(biāo)中的 狀態(tài)、位置、取向和尺寸到學(xué)生。否則,他發(fā)送名稱、對象坐標(biāo)中的 狀態(tài)、位置、取向和尺寸到學(xué)生。當(dāng)學(xué)生接收到與教師的工具相關(guān)的 信息時,他可以將接收的信息從對象坐標(biāo)轉(zhuǎn)變到世界坐標(biāo),以及然后 在他的世界中顯示教師的工具。其間,學(xué)生可以發(fā)送他的工具的名稱、狀態(tài)、對象坐標(biāo)中的位置、取向和尺寸到教師。然后,教師可以在顯 示學(xué)生的工具之前將它們轉(zhuǎn)變?yōu)槭澜缱鴺?biāo)。在本發(fā)明的例示實施例中, 學(xué)生可以根據(jù)教師的虛擬工具在他的世界中的位置、取向和狀態(tài)來決 定采取什么動作。
在本發(fā)明的例示實施例中,DextroNet可以同步在教師和學(xué)生側(cè)上 的視點模式。當(dāng)學(xué)生選擇脫開他的視點時,他可以例如按下在他指示 筆上的按鈕。該動作可以導(dǎo)致發(fā)送消息到教師的機(jī)器以達(dá)到"我要脫 開"的效果。到此為止。學(xué)生例如實際上沒有切換他的視點。他繼續(xù) 使用來自教師的世界坐標(biāo)。當(dāng)教師的機(jī)器接收到學(xué)生的消息時,然后 該教師的機(jī)器可以例如將確認(rèn)發(fā)送到學(xué)生,以及從那時開始轉(zhuǎn)變對象 坐標(biāo)。 一旦學(xué)生的機(jī)器從教師的機(jī)器接收到該確認(rèn)后,則學(xué)生的機(jī)器 然后可以實際上改變?yōu)槊撻_,以及然后可以使用對象坐標(biāo)。
例如,當(dāng)學(xué)生再次接合時情況可以是相同的。由此,在本發(fā)明的 例示實施例中,學(xué)生的機(jī)器可以僅僅在教師的機(jī)器變得知道學(xué)生的脫 開決定之后改變學(xué)生的視點。以這種方式,可以避免在脫開或再次接 合之前和之后由教師的機(jī)器發(fā)送到學(xué)生的機(jī)器的坐標(biāo)類型之間的沖
E.報文格式
在本發(fā)明的例示實施例中,例如可以有兩種報文格式。 一種例如 可以用于更新消息,另一種例如可以用于文件。
1.用于更新消息的格式I
圖54示出用于更新消息的第一例示格式。例如可以使用具有以下 屬性的以下字段。
開始標(biāo)簽標(biāo)記報文的開始(無符號的字符);
數(shù)據(jù)類型示出內(nèi)容是更新的消息還是文件,對于更新消息來說 該值是2 (無符號整數(shù));IP:發(fā)送者的IP地址(無符號字符); 對象名稱指定為使用該消息的對象;
坐標(biāo)系用于表示報文中的位置、取向和尺寸的坐標(biāo)系(無符號 字符)。這可以例如是兩個可能的值對于世界坐標(biāo)系是"Wld",對 于對象坐標(biāo)系是"app";
位置"對象名稱"中的對象的位置。位置包含三個值浮點值X、 y和Z;
取向"對象名稱"中的對象的取向。取向是4X4矩陣。矩陣中 的每個元素是浮點的;
狀態(tài)需要時的"對象名稱"中的對象的狀態(tài)(無符號字符)。 如果對象是工具,該值是四種狀態(tài)之一MK—CHECK 、 MK—START_ACTION、 MK一DO一ACTION、 MK—END—ACTION;
尺寸"對象名稱"中的對象的尺寸。尺寸包含三個值浮點值X、 y、 Z;以及
結(jié)束標(biāo)簽標(biāo)記報文的結(jié)束(無符號字符)。
圖55 (a)到55 (c)示出使用圖54的格式的三個示例。 圖55 (a)示出用于同步控制面板的更新消息。 圖55 (b)示出用于同步窗口小部件的更新消息,以及 圖55 (c)示出用于同步虛擬工具的更新消息。
2.文件傳輸
在本發(fā)明的例示實施例中,可以將長文件分成塊以供傳輸。每個 報文可以包含一個這樣的塊。在本發(fā)明的例示實施例中,在實際傳輸 文件之前,可以發(fā)送更新消息來告知對方將要傳輸文件。
格式I,如圖54所示,可以用于這樣的更新消息中,只要可以修 改"尺寸"字段以便包含總塊數(shù)(無符號整數(shù))、塊尺寸(無符號整 數(shù))以及最后的塊尺寸(無符號整數(shù))。在圖56中提供該更新消息的 示例。圖56示出關(guān)于991KB (1014921字節(jié))的例示文件的傳輸?shù)睦靖孪ⅰS纱?,給出尺寸字段中的數(shù)據(jù),對方知道文件具有24S個塊,除了最后一個塊的每個塊具有4096字節(jié)的尺寸,以及最后一個 塊具有3209字節(jié)。文件自身可以使用用于更新消息的第二格式發(fā)送, 該第二格式適于文件傳輸。3.用于更新消息的格式I1圖57示出用于更新消息的第二例示格式。在本發(fā)明的例示實施例 中,可以使用以下字段開始標(biāo)簽標(biāo)記報文的開始(無符號字符);數(shù)據(jù)類型示出內(nèi)容是更新的消息還是文件,對于文件來說該值 是1 (無符號整數(shù));文件塊二進(jìn)制的文件塊(無符號字符);以及 結(jié)束標(biāo)簽標(biāo)記報文的結(jié)束(無符號字符)。在例示的文件傳輸中,首先的247個塊,每個具有4096字節(jié),可 以例如如圖58 (a)所示被發(fā)送,以及最后一個塊,具有3209字節(jié), 可以如圖58 (b)所示使用格式II被發(fā)送。雖然參考本發(fā)明的一個或多個例示實施例描述了本發(fā)明,但是本 發(fā)明不限于此,以及所附權(quán)利要求意圖解釋為不僅僅包含所示本發(fā)明 的特定形式以及變體,還包含諸如在不偏離本發(fā)明的真實范圍的情況 下本領(lǐng)域技術(shù)人員可以做出的形式和變體。
權(quán)利要求
1.用于交互地操縱三維圖像的設(shè)備,所述圖像包括由關(guān)于對象的成像數(shù)據(jù)生成的容積數(shù)據(jù),所述設(shè)備被配置為經(jīng)由通信鏈路接收一個或多個遠(yuǎn)程機(jī)器的一個或多個遠(yuǎn)程探測器的位置數(shù)據(jù);生成組合的三維場景以供在本地顯示器上顯示,所述組合的三維場景包括所述至少一個遠(yuǎn)程探測器和所述三維圖像;響應(yīng)于由對于所述設(shè)備本地的用戶對本地探測器的操縱,操縱所述三維圖像;以及經(jīng)由所述通信鏈路發(fā)送關(guān)于由對于所述設(shè)備本地的所述用戶進(jìn)行的所述操縱的數(shù)據(jù),所述數(shù)據(jù)足夠用來允許所述至少一個遠(yuǎn)程機(jī)器來顯示組合的三維場景,所述組合的三維場景包括對所述三維圖像執(zhí)行操縱的所述本地探測器的圖像。
2. 根據(jù)權(quán)利要求l所述的設(shè)備,還配置為響應(yīng)于網(wǎng)絡(luò)條件,過 濾關(guān)于由對所述設(shè)備本地的所述用戶進(jìn)行的所述操縱的發(fā)送數(shù)據(jù)。
3. 根據(jù)權(quán)利要求3所述的設(shè)備,其中,所述過濾濾掉基本不修改 所述三維圖像的數(shù)據(jù)分組。
4. 根據(jù)權(quán)利要求3所述的設(shè)備,其中,所述過濾濾掉與工具移動 和工具狀態(tài)的一個相關(guān)的分組。
5. 根據(jù)權(quán)利要求1所述的設(shè)備,還被配置為顯示所述一個或多個遠(yuǎn)程機(jī)器的IP地址、用戶名稱和用戶指示符的至少一個。
6. 根據(jù)權(quán)利要求l所述的設(shè)備,其中,發(fā)送到所述一個或多個遠(yuǎn) 程機(jī)器的關(guān)于由對于所述設(shè)備本地的所述用戶進(jìn)行的所述操縱的所述 數(shù)據(jù),足夠用來允許所述一個或多個遠(yuǎn)程機(jī)器采用所述本地探測器就像是與所述一個或多個遠(yuǎn)程機(jī)器相關(guān)聯(lián)的探測器一樣的方式,通過 與所述本地機(jī)器的虛擬控制面板進(jìn)行交互,來顯示在所述三維圖像上 執(zhí)行操縱的所述本地探測器的圖像。
7. 根據(jù)權(quán)利要求l所述的設(shè)備,還被配置為響應(yīng)于對于所述設(shè) 備本地的所述用戶的命令,接收所述一個或多個遠(yuǎn)程機(jī)器的所述顯示 的快照。
8. 根據(jù)權(quán)利要求l所述的設(shè)備,還被配置為響應(yīng)于對于所述設(shè) 備本地的所述用戶的命令,導(dǎo)致在所述設(shè)備與所述一個或多個遠(yuǎn)程機(jī) 器中的任何遠(yuǎn)程機(jī)器之間的三維圖像的同步。
9. 根據(jù)權(quán)利要求8所述的設(shè)備,其中,導(dǎo)致所述同步包括發(fā)送 如在所述設(shè)備上保存的所述三維圖像的壓縮副本到所述一個或多個遠(yuǎn) 程機(jī)器。
10. 根據(jù)權(quán)利要求8所述的設(shè)備,其中,導(dǎo)致所述同步包括發(fā) 送交互命令的列表,在所述設(shè)備處在所述三維圖像上執(zhí)行所述交互命 令。
11. 根據(jù)權(quán)利要求1-10的任何一項所述的設(shè)備,所述設(shè)備還被配置為響應(yīng)于由遠(yuǎn)程機(jī)器的遠(yuǎn)程用戶的請求,切換所述本地機(jī)器與所 述遠(yuǎn)程機(jī)器的角色。
12. 用于交互地操縱三維圖像的設(shè)備,所述圖像包括由關(guān)于對象 的成像數(shù)據(jù)生成的容積數(shù)據(jù),所述設(shè)備被配置為經(jīng)由通信鏈路接收遠(yuǎn)程機(jī)器的遠(yuǎn)程探測器的位置數(shù)據(jù);接收本地探測器的位置數(shù)據(jù);生成組合的三維場景以供在顯示器上顯示,所述組合的三維場景 包括所述遠(yuǎn)程探測器、所述本地探測器以及所述三維圖像;以及以基本上等效于由對于所述遠(yuǎn)程機(jī)器本地的用戶經(jīng)由所述本地探 測器對于所述三維圖像的操縱的方式,響應(yīng)于所述遠(yuǎn)程探測器的操縱, 來操縱所述三維圖像。
13. 根據(jù)權(quán)利要求12所述的設(shè)備,其中,響應(yīng)于所述遠(yuǎn)程探測器 的操縱的對于所述三維圖像的操縱被顯示作為所述遠(yuǎn)程探測器的圖 像,所述遠(yuǎn)程探測器采用就像所述遠(yuǎn)程探測器是與所述設(shè)備相關(guān)聯(lián)的 探測器一樣的方式與所述本地機(jī)器的虛擬控制面板進(jìn)行交互。
14. 根據(jù)權(quán)利要求12所述的設(shè)備,還被配置為顯示所述遠(yuǎn)程機(jī) 器的IP地址、用戶名稱和用戶指示符的至少一個。
15. 根據(jù)權(quán)利要求12所述的設(shè)備,還被配置為響應(yīng)于所述遠(yuǎn)程 機(jī)器的命令,發(fā)送所述顯示的快照。
16. 根據(jù)權(quán)利要求12所述的設(shè)備,還被配置為響應(yīng)于來自所述 遠(yuǎn)程機(jī)器的命令,使用從所述遠(yuǎn)程機(jī)器經(jīng)由所述通信鏈路發(fā)送的圖像 數(shù)據(jù),來同步所述三維圖像。
17. 根據(jù)權(quán)利要求12所述的設(shè)備,還被配置為以以下視點之一 的視點來顯示所述三維圖像就像對于所述遠(yuǎn)程機(jī)器本地的用戶的視 點一樣的視點,以及與對于所述遠(yuǎn)程機(jī)器本地的用戶的視點不同的任 意視點。
18. 根據(jù)權(quán)利要求17所述的設(shè)備,還被配置為顯示虛擬控制面板。
19. 根據(jù)權(quán)利要求17所述的設(shè)備,還被配置為當(dāng)在與對于所述 遠(yuǎn)程機(jī)器本地的用戶的視點不同的任意視點處顯示所述三維圖像時, 響應(yīng)于對于所述設(shè)備本地的用戶的命令,顯示專用的本地控制面板。
20. 根據(jù)權(quán)利要求12-19的任何一項所述的設(shè)備,還被配置為允許 用戶對所述三維圖像執(zhí)行本地操作。
21. 根據(jù)權(quán)利要求20所述的設(shè)備,其中,所述本地操作包括不影 響哪些體素被認(rèn)為是對象的一部分的操縱。
22. 根據(jù)權(quán)利要求20所述的設(shè)備,其中,所述本地操作包括對象 的平移和旋轉(zhuǎn)以及放大倍率和透明度的設(shè)置的一個或多個。
23. 根據(jù)權(quán)利要求12或17所述的設(shè)備,還被配置為創(chuàng)建所述 三維圖像的附加本地副本,并響應(yīng)于從對于所述設(shè)備本地的用戶接收 的操縱來操縱所述附加副本。
24. 根據(jù)權(quán)利要求1所述的設(shè)備,所述設(shè)備還被配置為從對于 所述對象本地以及對于所述遠(yuǎn)程機(jī)器之一本地的遠(yuǎn)程設(shè)備接收關(guān)于所 述對象的附加數(shù)據(jù),所述附加數(shù)據(jù)被共同配準(zhǔn)到所述對象的所述三維 圖像。
25. 根據(jù)權(quán)利要求24所述的設(shè)備,其中,關(guān)于所述對象的所述附 加數(shù)據(jù)基本上實時獲得。
26. 根據(jù)權(quán)利要求24所述的設(shè)備,其中,關(guān)于所述對象的所述附 加數(shù)據(jù)是以下的一個或多個實時視頻、預(yù)記錄視頻、對于所述對象 本地的探測器或器械的位置數(shù)據(jù)、熒光透視圖像、超聲圖像和多模態(tài) 圖像。
27. 根據(jù)權(quán)利要求1-12的任何一項所述的設(shè)備,還被配置為顯 示來自對于所述對象本地以及對于所述遠(yuǎn)程機(jī)器之一本地的遠(yuǎn)程設(shè)備 的關(guān)于所述對象的附加數(shù)據(jù)。
28. 根據(jù)權(quán)利要求27所述的設(shè)備,其中,所述附加數(shù)據(jù)被共同配準(zhǔn)到所述對象的所述三維圖像。
29. 根據(jù)權(quán)利要求27所述的設(shè)備,其中,所述附加數(shù)據(jù)基本上是 實時的。
30. 根據(jù)權(quán)利要求27所述的設(shè)備,其中,所述附加數(shù)據(jù)中,關(guān)于 所述對象的所述附加數(shù)據(jù)是以下的一個或多個實時視頻、預(yù)記錄視 頻、對于所述對象本地的探測器或器械的位置數(shù)據(jù)、熒光透視圖像、 超聲圖像和多模態(tài)圖像。
31. 用于交互地操縱三維圖像的系統(tǒng),所述圖像包括由關(guān)于對象的成像數(shù)據(jù)生成的容積數(shù)據(jù),所述系統(tǒng)包括主工作站,包括權(quán)利要求1-11或27-30的任何一項所述的設(shè)備; 一個或多個遠(yuǎn)處工作站,包括權(quán)利要求12-26的任何一項所述的 設(shè)備;以及數(shù)據(jù)網(wǎng)絡(luò),其中,所述主工作站與所述一個或多個遠(yuǎn)處工作站的每一個經(jīng)由 所述數(shù)據(jù)網(wǎng)絡(luò)連接。
32. 用于交互地操縱三維圖像的方法,所述圖像包括由關(guān)于對象 的成像數(shù)據(jù)生成的容積數(shù)據(jù),所述方法包括提供根據(jù)權(quán)利要求1-11或27-30的任何一項所述的第一設(shè)備; 提供根據(jù)權(quán)利要求12-26的任何一項所述的一個或多個第二設(shè)備;以及提供數(shù)據(jù)網(wǎng)絡(luò),并經(jīng)由所述數(shù)據(jù)網(wǎng)絡(luò)連接所述第一設(shè)備和所述一 個或多個第二設(shè)備,其中,在操作中,在所述第一設(shè)備處的用戶與在所述一個或多個 第二設(shè)備處的用戶協(xié)作地顯影共有的3D數(shù)據(jù)集。
33. 根據(jù)權(quán)利要求33所述的方法,其中,在所述第一設(shè)備處的用戶與在第二設(shè)備處的用戶在所述第一設(shè)備處的用戶啟動后切換角色。
34. 聯(lián)網(wǎng)交互三維數(shù)據(jù)顯影系統(tǒng),包括主系統(tǒng),用于獲得對象的實時圖像并將它們與所述對象的共同配準(zhǔn)的3D容積模型的部分組合;顯示器,用于將所述組合圖像顯示給至少一個用戶; 探測器;跟蹤單元,用于跟蹤所述探測器的位置; 數(shù)據(jù)網(wǎng)絡(luò);以及一個或多個遠(yuǎn)程系統(tǒng),用于交互地顯影所述組合圖像,經(jīng)由所述 數(shù)據(jù)網(wǎng)絡(luò)通信連接到所述主系統(tǒng),每個具有被跟蹤的虛擬工具;其中,經(jīng)由所述數(shù)據(jù)網(wǎng)絡(luò)由每個遠(yuǎn)程系統(tǒng)接收所述主系統(tǒng)探測器 的被跟蹤位置以及所述組合圖像,并且其中,每個所述遠(yuǎn)程系統(tǒng)可以 交互地操縱所述組合圖像或所述共同配準(zhǔn)的3D容積模型以及將所述 操縱的圖像的顯示傳輸給所述主系統(tǒng)和所有其他遠(yuǎn)程系統(tǒng)。
35. 根據(jù)權(quán)利要求34所述的系統(tǒng),其中,所述組合圖像是覆蓋在 所述對象上的2D實時視頻。
36. 根據(jù)權(quán)利要求34或權(quán)利要求35的任何一項所述的系統(tǒng),其 中,所述主工作站和所述遠(yuǎn)程工作站適于修改計算機(jī)生成圖像來模擬 在所述對象上執(zhí)行的操作。
37. 根據(jù)權(quán)利要求36所述的系統(tǒng),其中,所述模擬的操作包括移 除所述對象的所述容積模型的部分。
38. 根據(jù)權(quán)利要求34所述的系統(tǒng),其中,所述主系統(tǒng)或遠(yuǎn)程系統(tǒng) 適于從至少一個用戶接收所述容積模型的分割部分的著色的改變。
39. 根據(jù)權(quán)利要求34所述的系統(tǒng),其中,所述主系統(tǒng)適于從第一用戶接收用于測量的所述容積模型的被選擇點,以及所述第二系統(tǒng)適 于從第二用戶接收用于測量的所述容積模型的被選擇點。
40. 根據(jù)權(quán)利要求34所述的系統(tǒng),其中,所述主系統(tǒng)或遠(yuǎn)程系統(tǒng) 從至少一個用戶接收輸入以在所顯示的感興趣區(qū)域上進(jìn)行變焦放大。
41. 根據(jù)權(quán)利要求34所述的系統(tǒng),其中,所述主系統(tǒng)或遠(yuǎn)程系統(tǒng) 適于接收來自至少一個用戶的輸入,以改變所述容積模型的至少一個 分割對象的透明度或不透明度。
42. 根據(jù)權(quán)利要求34所述的系統(tǒng),其中,所述主系統(tǒng)或遠(yuǎn)程系統(tǒng) 適于修改所述組合圖像以表示所述操作的所述對象的物理形狀的改 變,所述修改取決于所述探測器的被跟蹤位置。
43. 用于由在定義的三維區(qū)域中執(zhí)行操作的至少一個用戶使用的 方法,所述方法包括生成操作的對象的圖像,與所述對象配準(zhǔn)地顯示所述圖像給所述 至少一個用戶,以及利用第一系統(tǒng)跟蹤具有縱軸的探測器的位置,并 將所述位置傳輸?shù)降谝粩?shù)據(jù)處理設(shè)備和第二系統(tǒng),其中,所述第一數(shù)據(jù)處理設(shè)備根據(jù)平行于所述探測器的縱軸延伸 的直線來生成圖像,所述直線具有根據(jù)由第一用戶控制的延伸控制設(shè) 備的輸出進(jìn)行控制的延伸;以及其中,具有第二數(shù)據(jù)處理設(shè)備的所述第二系統(tǒng)在所述至少一個顯示器上生成所述操作的對象的至少一個圖像,以將所述圖像顯示給所 述至少一個用戶,其中,經(jīng)由通信網(wǎng)絡(luò)由所述第二系統(tǒng)接收所述第一 系統(tǒng)的探測器的被跟蹤位置,以及控制所述第一和第二數(shù)據(jù)處理設(shè)備,以根據(jù)所述直線的被控制的 延伸,來修改所述操作的對象的所述至少一個圖像。
44. 根據(jù)權(quán)利要求43所述的方法,其中,所述第一系統(tǒng)的所述顯 示器生成覆蓋在所述對象上的所述操作的所述對象的圖像。
45. 根據(jù)權(quán)利要求43或權(quán)利要求44所述的方法,其中,所述第 一或第二數(shù)據(jù)處理設(shè)備修改計算機(jī)生成圖像來模擬在所述對象上執(zhí)行 的操作,所述模擬的操作通過控制所述直線的延伸來控制。
46. 根據(jù)權(quán)利要求45所述的方法,其中,所述模擬的操作包括 移除所述計算機(jī)生成圖像的部分直到由所述直線的延伸指示的患者中 的深度。
47. 根據(jù)權(quán)利要求43所述的方法,其中,所述第一系統(tǒng)或所述第 二系統(tǒng)從至少一個用戶接收計算機(jī)生成圖像的著色的改變。
48. 根據(jù)權(quán)利要求43所述的方法,其中,所述第一系統(tǒng)從第一用 戶接收用于測量的被選擇點,以及所述第二系統(tǒng)從第二用戶接收用于 測量的被選擇點。
49. 根據(jù)權(quán)利要求43所述的方法,其中,所述第一系統(tǒng)或所述第 二系統(tǒng)從至少一個用戶接收輸入以在所顯示的感興趣區(qū)域上進(jìn)行變焦 放大。
50. 根據(jù)權(quán)利要求43所述的方法,其中,所述第一系統(tǒng)或所述第 二系統(tǒng)從至少一個用戶接收輸入以改變所述透明度或不透明度的至少一個。
51. 根據(jù)權(quán)利要求43所述的方法,其中,所述第一數(shù)據(jù)處理設(shè)備 或所述第二數(shù)據(jù)處理設(shè)備修改所述圖像以表示所述操作的所述對象的 物理形狀的改變,所述修改取決于所述探測器的被跟蹤位置。
52. 聯(lián)網(wǎng)交互三維數(shù)據(jù)顯影系統(tǒng),包括 主系統(tǒng);顯示器,用于向至少一個用戶顯示圖像; 探測器;跟蹤單元,用于跟蹤所述探測器的位置; 數(shù)據(jù)網(wǎng)絡(luò);以及一個或多個遠(yuǎn)程系統(tǒng),用于交互地顯影所述圖像,經(jīng)由所述數(shù)據(jù) 網(wǎng)絡(luò)通信連接到所述主系統(tǒng),所述遠(yuǎn)程系統(tǒng)的每一個具有被跟蹤的虛 擬工具;其中,經(jīng)由所述數(shù)據(jù)網(wǎng)絡(luò)由每個遠(yuǎn)程系統(tǒng)接收所述主系統(tǒng)探測器 的被跟蹤位置和所述圖像,以及其中,每個所述遠(yuǎn)程系統(tǒng)可以交互地 操縱所述組合圖像或共同配準(zhǔn)的3D容積模型并將它的被跟蹤的虛擬 工具的位置傳輸?shù)剿鲋飨到y(tǒng)。
53. 根據(jù)權(quán)利要求52所述的系統(tǒng),其中,可以重復(fù)地改變所述主 系統(tǒng)和遠(yuǎn)程系統(tǒng)的角色。
54. 根據(jù)權(quán)利要求52所述的系統(tǒng),其中,所述遠(yuǎn)程系統(tǒng)可以査看 數(shù)據(jù)集的所述主系統(tǒng)的視圖或它自身的視圖。
55. 根據(jù)權(quán)利要求52所述的系統(tǒng),其中,所述遠(yuǎn)程系統(tǒng)可以本地 地執(zhí)行任何顯影操縱,但是不能修改所述數(shù)據(jù)集。
56. 根據(jù)權(quán)利要求52所述的系統(tǒng),其中,所述主系統(tǒng)可以在任何 時間將它的界面和數(shù)據(jù)集與任何遠(yuǎn)程系統(tǒng)進(jìn)行同步。
57. 協(xié)作交互地顯影并操縱容積對象或系統(tǒng)的方法,包括 本地用戶,使用主工作站獲得對象或系統(tǒng)的實時圖像并將它們與相同的對象或系統(tǒng)的共同配準(zhǔn)的3D數(shù)據(jù)集組合,所述本地用戶本地地 顯示所述組合圖像,并經(jīng)由數(shù)據(jù)網(wǎng)絡(luò)傳輸它們;以及一個或多個遠(yuǎn)程用戶,每個連接到所述數(shù)據(jù)網(wǎng)絡(luò),使用遠(yuǎn)程工作站接收所述組合圖像并操縱所述組合圖像和所述共同配準(zhǔn)的掃描圖像 的至少一個;其中,所述主用戶和所述遠(yuǎn)程用戶的每一個可以每個操縱所述組 合圖像和所述3D數(shù)據(jù)集,以及其中,所述操縱還經(jīng)由所述數(shù)據(jù)網(wǎng)絡(luò)發(fā) 送以在所述主工作站和每個遠(yuǎn)程工作站上進(jìn)行基本同步的顯示。
全文摘要
本發(fā)明涉及3D數(shù)據(jù)集的交互顯影,以及更具體的涉及經(jīng)由網(wǎng)絡(luò)由多方進(jìn)行的一個或多個3D數(shù)據(jù)集的協(xié)作交互顯影。所提出的系統(tǒng)被配置為經(jīng)由通信鏈路接收一個或多個遠(yuǎn)程機(jī)器的一個或多個遠(yuǎn)程探測器的位置數(shù)據(jù),以生成組合3D場景供在本地顯示器上顯示,該組合3D場景包括一個遠(yuǎn)程探測器和3D圖像;由對于設(shè)備本地的用戶來操縱3D圖像;以及經(jīng)由通信鏈路發(fā)送關(guān)于由對設(shè)備本地的所述用戶進(jìn)行的所述操縱的數(shù)據(jù),以允許遠(yuǎn)程機(jī)器來顯示組合3D場景,該組合3D場景包括對所述3D圖像執(zhí)行操縱的本地探測器的圖像。
文檔編號G06T17/00GK101405769SQ200780001804
公開日2009年4月8日 申請日期2007年1月3日 優(yōu)先權(quán)日2005年12月31日
發(fā)明者吳令家, 周瀘萍, 路易斯·塞拉德爾莫利諾 申請人:布拉科成像S.P.A.公司