本技術(shù)涉及計(jì)算機(jī)輔助,特別是涉及一種網(wǎng)格裁切方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)。
背景技術(shù):
1、隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,計(jì)算機(jī)輔助診斷、術(shù)前規(guī)劃在臨床中獲得了更大的關(guān)注和更廣泛的應(yīng)用。例如,通過各種成像手段(如ct,mri等)獲取病灶的三維信息,并通過多種計(jì)算機(jī)圖像與圖形技術(shù)獲得病灶的三維模型。相對(duì)于傳統(tǒng)的二維圖像診斷,三維模型成像能夠提供更多對(duì)檢測(cè)對(duì)象有利的圖像信息,能夠更好地對(duì)檢測(cè)對(duì)象進(jìn)行圖像信息分析和評(píng)估。
2、網(wǎng)格模型是一種靈活、高效的三維模型,例如其被廣泛用于病灶顯示和手術(shù)規(guī)劃。對(duì)網(wǎng)格進(jìn)行裁切是處理網(wǎng)格中重要的操作,對(duì)于突出感興趣區(qū)域、模擬手術(shù)操作具有重要意義。在過去的30年中,對(duì)于網(wǎng)格裁切的研究較少。
3、現(xiàn)有的網(wǎng)格裁切方法,通過確定裁切平面的對(duì)網(wǎng)格進(jìn)行裁切,該類方法首先確定一個(gè)帶法向量的裁切平面,并使用該裁切平面分割原始網(wǎng)格,保留裁切平面正側(cè)的網(wǎng)格,然后填補(bǔ)裁切平面與網(wǎng)格形成的裁切面,最終對(duì)保留部分的原始網(wǎng)格和裁切面新生網(wǎng)格進(jìn)行網(wǎng)格合并,并輸出裁切后的網(wǎng)格內(nèi)容。然而現(xiàn)有的網(wǎng)格裁切方法不能夠針對(duì)各種極端情況的裁切平面進(jìn)行網(wǎng)格裁切,存在網(wǎng)格裁切準(zhǔn)確性低的問題。
技術(shù)實(shí)現(xiàn)思路
1、基于此,有必要針對(duì)上述技術(shù)問題,提供一種能夠提高網(wǎng)格裁切準(zhǔn)確性的網(wǎng)格裁切方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)。
2、第一方面,本技術(shù)提供了一種網(wǎng)格裁切方法,該方法包括:
3、獲取多條目標(biāo)裁切線段,并對(duì)多條目標(biāo)裁切線段進(jìn)行拼接,形成分別包含多條目標(biāo)裁切線段的多個(gè)第一封閉圖形;多條目標(biāo)裁切線段是根據(jù)待裁切網(wǎng)格包含的多個(gè)三角面片,與裁切平面形成的;裁切平面用于對(duì)待裁切網(wǎng)格進(jìn)行裁切;
4、根據(jù)多個(gè)第一封閉圖形,得到封閉圖形集合;
5、獲取封閉圖形集合中多個(gè)第二封閉圖形之間的相對(duì)位置關(guān)系;
6、基于多個(gè)第二封閉圖形之間的相對(duì)位置關(guān)系,從封閉圖形集合中劃分出子集合,并針對(duì)每個(gè)子集合,按照每個(gè)子集合中包括的各個(gè)第三封閉圖形之間的相對(duì)位置關(guān)系,獲取每個(gè)子集合對(duì)應(yīng)的裁切邊界信息;
7、根據(jù)裁切邊界信息,對(duì)待裁切網(wǎng)格進(jìn)行裁切處理,生成待裁切網(wǎng)格對(duì)應(yīng)的裁切后的目標(biāo)裁切網(wǎng)格。
8、在其中一個(gè)實(shí)施例中,相對(duì)位置關(guān)系包括包含關(guān)系;
9、基于多個(gè)第二封閉圖形之間的相對(duì)位置關(guān)系,從封閉圖形集合中劃分出子集合,包括:
10、根據(jù)封閉圖形集合中各個(gè)第二封閉圖形之間的包含關(guān)系,從封閉圖形集合包含的封閉圖形中,獲取至少一個(gè)目標(biāo)封閉圖形;目標(biāo)封閉圖形為封閉圖形集合中,不被除自身以外的任一第二封閉圖形所包含的封閉圖形;
11、根據(jù)封閉圖形集合中各個(gè)第二封閉圖形之間的包含關(guān)系,獲取各目標(biāo)封閉圖形分別包含的封閉圖形;
12、根據(jù)各目標(biāo)封閉圖形,以及各目標(biāo)封閉圖形分別包含的第二封閉圖形,形成各目標(biāo)封閉圖形分別對(duì)應(yīng)的子集合。
13、在其中一個(gè)實(shí)施例中,針對(duì)每個(gè)子集合,按照每個(gè)子集合中包括的各個(gè)第三封閉圖形之間的相對(duì)位置關(guān)系,獲取每個(gè)子集合對(duì)應(yīng)的裁切邊界信息,包括:
14、獲取當(dāng)前子集合包含的各個(gè)第三封閉圖形之間的包含關(guān)系;當(dāng)前子集合為任意一個(gè)子集合;
15、根據(jù)各個(gè)第三封閉圖形之間的包含關(guān)系,確定當(dāng)前子集合包含的各個(gè)第三封閉圖形對(duì)應(yīng)的邊界類型;邊界類型用于表征待裁切網(wǎng)格的裁切邊界的類型;
16、將當(dāng)前子集合包含的各個(gè)第三封閉圖形、以及各個(gè)第三封閉圖形對(duì)應(yīng)的邊界類型,作為當(dāng)前子集合的裁切邊界信息。
17、在其中一個(gè)實(shí)施例中,根據(jù)各個(gè)第三封閉圖形之間的包含關(guān)系,確定當(dāng)前子集合包含的各個(gè)第三封閉圖形對(duì)應(yīng)的邊界類型,包括:
18、基于當(dāng)前子集合包含的各個(gè)第三封閉圖形之間的包含關(guān)系,建立封閉圖形關(guān)系樹;
19、從當(dāng)前子集合包含的各個(gè)第三封閉圖形中,獲取當(dāng)前封閉圖形,以及當(dāng)前封閉圖形在封閉圖形關(guān)系樹中的當(dāng)前層級(jí);
20、獲取當(dāng)前層級(jí)對(duì)應(yīng)的邊界類型,并將當(dāng)前層級(jí)對(duì)應(yīng)的邊界類型,作為當(dāng)前封閉圖形對(duì)應(yīng)的邊界類型。
21、在其中一個(gè)實(shí)施例中,獲取當(dāng)前層級(jí)對(duì)應(yīng)的邊界類型,包括:
22、在當(dāng)前層級(jí)為封閉圖形關(guān)系樹中的奇數(shù)層的情況下,將當(dāng)前層級(jí)對(duì)應(yīng)的邊界類型設(shè)置為實(shí)體邊界類型;
23、在當(dāng)前層級(jí)為封閉圖形關(guān)系樹中的偶數(shù)層的情況下,將當(dāng)前層級(jí)對(duì)應(yīng)的邊界類型設(shè)置為孔洞邊界類型。
24、在其中一個(gè)實(shí)施例中,根據(jù)裁切邊界信息,對(duì)待裁切網(wǎng)格進(jìn)行裁切處理,包括:
25、從裁切邊界信息中,獲取當(dāng)前裁切邊界信息;當(dāng)前裁切邊界信息為當(dāng)前子集合對(duì)應(yīng)的裁切邊界信息;
26、獲取當(dāng)前裁切邊界信息對(duì)應(yīng)的當(dāng)前子集合包含的各個(gè)第三封閉圖形;
27、若當(dāng)前子集合包含的各個(gè)第三封閉圖形之間不存在共同點(diǎn),則根據(jù)當(dāng)前裁切邊界信息,對(duì)待裁切網(wǎng)格進(jìn)行裁切處理。
28、在其中一個(gè)實(shí)施例中,獲取當(dāng)前裁切邊界信息對(duì)應(yīng)的當(dāng)前子集合包含的各個(gè)第三封閉圖形之后,還包括:
29、若當(dāng)前裁切邊界信息對(duì)應(yīng)的當(dāng)前子集合包含的各個(gè)第三封閉圖形中,至少兩個(gè)第三封閉圖形存在共同點(diǎn),則獲取共同點(diǎn)的位置信息;
30、基于共同點(diǎn)的位置信息,對(duì)至少兩個(gè)第三封閉圖形進(jìn)行拆分,得到拆分后的至少兩個(gè)第四封閉圖形,并將至少兩個(gè)第三封閉圖形對(duì)應(yīng)的邊界類型作為至少兩個(gè)第四封閉圖形對(duì)應(yīng)的邊界類型;
31、根據(jù)至少兩個(gè)第四封閉圖形、至少兩個(gè)第四封閉圖形對(duì)應(yīng)的邊界類型、不包含共同點(diǎn)的各個(gè)第三封閉圖形以及不包含共同點(diǎn)的各個(gè)第三封閉圖形對(duì)應(yīng)的邊界類型,形成更新后的裁切邊界信息;
32、根據(jù)更新后的裁切邊界信息,對(duì)待裁切網(wǎng)格進(jìn)行裁切處理。
33、在其中一個(gè)實(shí)施例中,生成待裁切網(wǎng)格對(duì)應(yīng)的裁切后的目標(biāo)裁切網(wǎng)格,包括:
34、利用共同點(diǎn)的位置信息,對(duì)至少兩個(gè)第四封閉圖形進(jìn)行合并處理,得到合并后的第三封閉圖形;
35、根據(jù)合并后的第三封閉圖形,以及不包含共同點(diǎn)的各個(gè)第三封閉圖形,形成對(duì)裁切網(wǎng)格進(jìn)行裁切處理后的網(wǎng)格裁切面;
36、基于網(wǎng)格裁切面,生成目標(biāo)裁切網(wǎng)格。
37、在其中一個(gè)實(shí)施例中,根據(jù)多個(gè)第一封閉圖形,得到封閉圖形集合,包括:
38、從多個(gè)第一封閉圖形中,獲取自相交圖形,以及自相交圖形的自相交點(diǎn);
39、基于自相交點(diǎn),對(duì)自相交圖形進(jìn)行拆分處理,得到至少兩個(gè)非自相交的子封閉圖形;
40、將多個(gè)第一封閉圖形中除自相交圖形以外的非自相交圖形,以及子封閉圖形作為第二封閉圖形,以形成封閉圖形集合。
41、在其中一個(gè)實(shí)施例中,裁切平面的數(shù)量為多個(gè);
42、獲取多條目標(biāo)裁切線段,包括:
43、獲取三角面片與多個(gè)裁切平面形成的多條裁切線段,以及各裁切平面的平面位置關(guān)系;
44、根據(jù)裁切平面的平面位置關(guān)系,以及多條裁切線段,得到多條目標(biāo)裁切線段。
45、在其中一個(gè)實(shí)施例中,裁切平面的平面位置關(guān)系包括第一位置關(guān)系;第一位置關(guān)系表征多個(gè)裁切平面相平行,或多個(gè)裁切平面相交且多個(gè)裁切平面的平面相交線未穿過待裁切網(wǎng)格;
46、根據(jù)裁切平面的平面位置關(guān)系,以及多條裁切線段,得到多條目標(biāo)裁切線段,包括:
47、若裁切平面的平面位置關(guān)系為第一位置關(guān)系,則將處于多個(gè)裁切平面的預(yù)設(shè)向量方向的裁切線段作為目標(biāo)裁切線段。
48、在其中一個(gè)實(shí)施例中,裁切平面的平面位置關(guān)系包括第二位置關(guān)系;第二位置關(guān)系表征多個(gè)裁切平面相交且多個(gè)裁切平面的平面相交線穿過待裁切網(wǎng)格;
49、根據(jù)裁切平面的平面位置關(guān)系,以及多條裁切線段,得到多條目標(biāo)裁切線段,包括:
50、在裁切平面的平面位置關(guān)系為第二位置關(guān)系的情況下,獲取待裁切網(wǎng)格的三角面片與多個(gè)裁切平面相交形成的多條相交線段,以及獲取三角面片的邊線子線段;邊線子線段根據(jù)三角面片與多條相交線段相交得到;
51、根據(jù)多條相交線段的相交關(guān)系,獲取多條相交線段對(duì)應(yīng)的相交子線段;
52、將處于多個(gè)裁切平面的預(yù)設(shè)向量方向的相交子線段,以及處于多個(gè)裁切平面的預(yù)設(shè)向量方向的邊線子線段,作為目標(biāo)子線段,以形成多條目標(biāo)裁切線段。
53、在其中一個(gè)實(shí)施例中,生成待裁切網(wǎng)格對(duì)應(yīng)的裁切后的目標(biāo)裁切網(wǎng)格之后,包括:
54、響應(yīng)于針對(duì)目標(biāo)裁切網(wǎng)格的優(yōu)化處理指令,獲取目標(biāo)裁切網(wǎng)格的各個(gè)頂點(diǎn);
55、獲取目標(biāo)裁切網(wǎng)格的各個(gè)頂點(diǎn)之間的連接頂點(diǎn)數(shù),以及預(yù)設(shè)的目標(biāo)連接頂點(diǎn)數(shù);
56、獲取連接頂點(diǎn)數(shù)和目標(biāo)連接頂點(diǎn)數(shù)的差異平均值;
57、在差異平均值大于預(yù)設(shè)的差異閾值的情況下,對(duì)目標(biāo)裁切網(wǎng)格進(jìn)行網(wǎng)格重生成處理。
58、在其中一個(gè)實(shí)施例中,獲取封閉圖形集合中多個(gè)第二封閉圖形之間的相對(duì)位置關(guān)系,包括:
59、從多個(gè)封閉圖形中獲取當(dāng)前封閉圖形、以及當(dāng)前封閉圖形的當(dāng)前頂點(diǎn);
60、獲取候選封閉圖形;候選封閉圖形為多個(gè)封閉圖形中除當(dāng)前封閉圖形以外的封閉圖形;
61、獲取以當(dāng)前頂點(diǎn)為起點(diǎn)的目標(biāo)射線;并根據(jù)目標(biāo)射線與候選封閉圖形的相交次數(shù),得到當(dāng)前封閉圖形和各候選封閉圖形的相對(duì)位置關(guān)系。
62、在其中一個(gè)實(shí)施例中,對(duì)多條目標(biāo)裁切線段進(jìn)行拼接,形成分別包含多條目標(biāo)裁切線段的多個(gè)第一封閉圖形,包括:
63、從多條目標(biāo)裁切線段中,獲取當(dāng)前裁切線段,以及獲取當(dāng)前裁切線段的當(dāng)前端點(diǎn);當(dāng)前端點(diǎn)為當(dāng)前裁切線段的任意一個(gè)端點(diǎn);
64、獲取以當(dāng)前端點(diǎn)為端點(diǎn)的目標(biāo)裁切線段,并基于當(dāng)前端點(diǎn),將當(dāng)前裁切線段和目標(biāo)裁切線段進(jìn)行拼接;
65、將目標(biāo)裁切線段作為更新后的當(dāng)前裁切線段,并返回獲取當(dāng)前裁切線段的當(dāng)前端點(diǎn)的步驟,直到形成第一封閉圖形。
66、第二方面,本技術(shù)還提供了一種網(wǎng)格裁切裝置,該裝置包括:
67、裁切線段拼接模塊,用于獲取多條目標(biāo)裁切線段,并對(duì)多條目標(biāo)裁切線段進(jìn)行拼接,形成分別包含多條目標(biāo)裁切線段的多個(gè)第一封閉圖形;多條目標(biāo)裁切線段根據(jù)待裁切網(wǎng)格包含的多個(gè)三角面片,與裁切平面形成;裁切平面用于對(duì)待裁切網(wǎng)格進(jìn)行裁切;
68、圖形集合獲取模塊,用于根據(jù)多個(gè)第一封閉圖形,得到封閉圖形集合;
69、位置關(guān)系獲取模塊,用于獲取封閉圖形集合中多個(gè)第二封閉圖形之間的相對(duì)位置關(guān)系;
70、邊界信息獲取模塊,用于基于多個(gè)第二封閉圖形之間的相對(duì)位置關(guān)系,從封閉圖形集合中劃分出子集合,并針對(duì)每個(gè)子集合,按照每個(gè)子集合中包括的各個(gè)第三封閉圖形之間的相對(duì)位置關(guān)系,獲取每個(gè)子集合對(duì)應(yīng)的裁切邊界信息;
71、裁切處理模塊,用于根據(jù)裁切邊界信息,對(duì)待裁切網(wǎng)格進(jìn)行裁切處理,生成待裁切網(wǎng)格對(duì)應(yīng)的裁切后的目標(biāo)裁切網(wǎng)格。
72、第三方面,本技術(shù)還提供了一種計(jì)算機(jī)設(shè)備。該計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器和處理器,存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,處理器執(zhí)行計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述的方法的步驟。
73、第四方面,本技術(shù)還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述的方法的步驟。
74、第五方面,本技術(shù)還提供了一種計(jì)算機(jī)程序產(chǎn)品。該計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述的方法的步驟。
75、上述網(wǎng)格裁切方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì),獲取多條目標(biāo)裁切線段,并對(duì)多條目標(biāo)裁切線段進(jìn)行拼接,形成分別包含多條目標(biāo)裁切線段的多個(gè)第一封閉圖形;多條目標(biāo)裁切線段是根據(jù)待裁切網(wǎng)格包含的多個(gè)三角面片,與裁切平面形成的;裁切平面用于對(duì)待裁切網(wǎng)格進(jìn)行裁切;根據(jù)多個(gè)第一封閉圖形,得到封閉圖形集合;獲取封閉圖形集合中多個(gè)第二封閉圖形之間的相對(duì)位置關(guān)系;基于多個(gè)第二封閉圖形之間的相對(duì)位置關(guān)系,從封閉圖形集合中劃分出子集合,并針對(duì)每個(gè)子集合,按照每個(gè)子集合中包括的各個(gè)第三封閉圖形之間的相對(duì)位置關(guān)系,獲取每個(gè)子集合對(duì)應(yīng)的裁切邊界信息;根據(jù)裁切邊界信息,對(duì)待裁切網(wǎng)格進(jìn)行裁切處理,生成待裁切網(wǎng)格對(duì)應(yīng)的裁切后的目標(biāo)裁切網(wǎng)格。與傳統(tǒng)技術(shù)相比,本技術(shù)通過對(duì)離散的裁切線段進(jìn)行拼接,得到第一封閉圖形,并形成封閉圖形集合,從封閉圖形集合中包含的各個(gè)第二封閉圖形之間的相對(duì)位置關(guān)系,確定出互不相關(guān)的子集合,進(jìn)一步可以根據(jù)子集合中包含的各個(gè)第三封閉圖形之間的相對(duì)位置關(guān)系,確定出各個(gè)子集合對(duì)應(yīng)的裁切邊界信息,如此,可以進(jìn)一步得到待裁切網(wǎng)格的剖切面的剖切信息,通過上述第二封閉圖形之間的相對(duì)位置關(guān)系,能夠更魯棒地確定剖切面的剖切信息,進(jìn)一步可以根據(jù)各個(gè)子集合對(duì)應(yīng)的裁切邊界信息,對(duì)待裁切網(wǎng)格的進(jìn)行裁切,如此能夠有效準(zhǔn)確地完成對(duì)網(wǎng)格的裁切,從而提高了對(duì)網(wǎng)格進(jìn)行裁切的準(zhǔn)確性。