日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

[转]DICOM医学图像处理:Deconstructed PACS之Orthanc

發(fā)布時(shí)間:2025/5/22 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转]DICOM医学图像处理:Deconstructed PACS之Orthanc 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)載:http://blog.csdn.net/zssureqh/article/details/41424027

背景:

?

? ? ? ? 此篇博文介紹一個(gè)開(kāi)源的、基于WEB的DICOM Server軟件。該開(kāi)源軟件完全使用C++編寫(xiě),不依賴于第三方數(shù)據(jù)庫(kù)(內(nèi)置了SQLite數(shù)據(jù)庫(kù))或其他框架,支持RESTful API設(shè)計(jì)模式。官網(wǎng)上提供了源代碼,同時(shí)也給出了編譯后的Windows和Linux系統(tǒng)的二進(jìn)制安裝包。Orthanc是PACS領(lǐng)域的一種改革,提出了“解構(gòu)PACS概念”,即Deconstructed PACS,用戶可以通過(guò)三種方式訪問(wèn)Orthanc:DICOM Server、Web Server和RESTful API。

Orthanc:

? ? ? ? 開(kāi)源中國(guó)社區(qū)中對(duì)于Orthanc有一段這樣的描述:Orthanc是一個(gè)輕量級(jí)的,基于REST的DICOM服務(wù)器,主要用于衛(wèi)生保健和醫(yī)療研究。Orthanc可將任意運(yùn)行Windows和Linux的計(jì)算機(jī)編程DICOM存儲(chǔ)(或者說(shuō)是一個(gè)小型PACS系統(tǒng)),其架構(gòu)是輕量級(jí)的,沒(méi)有復(fù)雜的數(shù)據(jù)庫(kù)管理,不依賴于第三方軟件。

? ? ? ? 除此以外,Orthanc官網(wǎng)(http://www.orthanc-server.com/about.php)對(duì)于Orthanc的描述著重提到:Orthanc之所以與眾不同是因?yàn)樗峁㏑ESTful API。因此,Orthanc可以使用任何計(jì)算機(jī)語(yǔ)言開(kāi)發(fā)。Orthanc存儲(chǔ)的DICOM圖像的標(biāo)簽可以以JSON文件格式下載,此外,Orthanc對(duì)于存儲(chǔ)的DICOM實(shí)例可以動(dòng)態(tài)生成對(duì)應(yīng)的PNG圖像。

? ? ? ? Orthanc隱藏了復(fù)雜的DICOM文件格式和DICOM協(xié)議,使使用者只專注于DICOM文件內(nèi)容。

Deconstructed PACS:

? ? ? ? Deconstructed PACS是新一代的PACS系統(tǒng),原文的描述為"The latest strategy for imaging informatics is actually "deconstructed PACS," where the core elements of PACS are best-of-breed or component-based solutions, integrated together using standards-based approaches.” PACS系統(tǒng)最早是通過(guò)組合多個(gè)獨(dú)立的子系統(tǒng)來(lái)實(shí)現(xiàn)簡(jiǎn)單獲取和轉(zhuǎn)存圖像,對(duì)于圖像(images)和醫(yī)學(xué)信息(demographics)分別采用不同的網(wǎng)絡(luò);隨后發(fā)展為C/S模式,通過(guò)Client的工作站來(lái)實(shí)現(xiàn)(胖客戶端thick-client);最后演變成基于瀏覽器的Web PACS(瘦客戶端thin-client)。

【Deconstructed PACS概念目前我還沒(méi)有搞太明白,官網(wǎng)的資料比較多,后續(xù)會(huì)補(bǔ)充更多的資料,有興趣的讀者也可以直接閱讀博文后我給出的連接】

Orthanc安裝:

? ? ? ? 通過(guò)上述簡(jiǎn)短的介紹,想必大家已經(jīng)對(duì)Orthanc有了大致的了解。下面給出Orthanc的安裝方法,Orthanc是一個(gè)開(kāi)源軟件,因此有兩種安裝方式。

Orthanc二進(jìn)制包在Windows下安裝:

? ? ? ? 下載地址:http://www.orthanc-server.com/download-windows.php。在官網(wǎng)下載頁(yè)面中輸入基本信息就會(huì)在郵箱中獲得下載鏈接,Windows下的二進(jìn)制安裝包名稱為:Orthanc-0.8.5-Installer.exe。雙擊安裝包,如下圖所示,單擊“下一步”就可以順利完成安裝。

?

?

?

?

? ? ? ? 該文件夾用于設(shè)置Orthanc軟件的安裝目錄,即主要程序OrthancService.exe和Orthanc-0.8.5-Release.exe的存放位置。

?

?

? ? ? ? 此處用于設(shè)置Orthanc軟件中DICOM Server的數(shù)據(jù)存儲(chǔ)目錄,可以簡(jiǎn)單的理解為mini-PACS的歸檔目錄,后續(xù)示例中的圖像就保存在該文件夾下。

?

?

? ? ? ? 此處用于設(shè)置Orthanc軟件在開(kāi)始菜單中快捷鍵的文件夾。

?

?

? ? ? ? 單擊Install,稍等片刻即可完成Orthanc在Windows下的安裝。

Orthanc源碼在Windows下編譯運(yùn)行:

? ? ? ? 開(kāi)源軟件最常用的是源碼編譯,如是可以生成跟本機(jī)系統(tǒng)最匹配的可執(zhí)行文件。Orthanc源代碼下載地址為:http://sourceforge.net/projects/orthancserver/files/Orthanc-0.8.5.tar.gz/download,源碼包名稱為:Orthanc-0.8.5.tar.gz。解壓Orthanc-0.8.5.tar.gz到希望的目錄(本機(jī)我選擇C:\),得到C:\Orthanc-0.8.5,如下圖:

?

?

? ? ? ? 打開(kāi)INSTALL安裝說(shuō)明文檔,可以看到安裝必須的準(zhǔn)備:

?

1)CMake,我直接利用本地安裝的CMake2.8(也可以到官網(wǎng)下載最新版本:http://www.cmake.org/);

?

2)Python,安裝過(guò)程中有一些自動(dòng)生成的腳本需要用到Python解釋器,下載地址http://www.python.org/,我本機(jī)安裝的版本為:Python2.7;

?

3)7-Zip:用于解壓縮安裝過(guò)程中下載的壓縮包,下載地址為http://www.7-zip.org/。

?

? ? ? ? 在選擇CMake GUI界面,指定source code和build路徑后,單擊Configure會(huì)出現(xiàn)缺少7-zip的錯(cuò)誤提示,如下圖:

?

?

? ? ? ? 原因是我本機(jī)起初并未安裝7-zip軟件。按照INSTALL給出的官網(wǎng)下載并安裝完成后,重新啟動(dòng)CMake再次進(jìn)行配置后,又會(huì)出現(xiàn)錯(cuò)誤,如下所示。提示缺少libgoogle-glog-dev package,這個(gè)應(yīng)該是google的用于日志記錄的庫(kù)。

?

?

? ? ? ? 在搜索并下載libgoogle-glog-dev package時(shí)遇到了問(wèn)題,未找到直接的下載鏈接。因此利用CMake GUI編譯Orthanc的路暫時(shí)走不通。重新仔細(xì)閱讀INSTALL文檔,找到了在Windwos系統(tǒng)下利用Microsoft Visual Studio進(jìn)行Orthanc源碼編譯的方法,具體說(shuō)明如下:

Native Windows build with Microsoft Visual Studio
-------------------------------------------------
# cd [...]\OrthancBuild
# cmake -DSTANDALONE_BUILD=ON -DSTATIC_BUILD=ON -DALLOW_DOWNLOADS=ON -G "Visual Studio 8 2005" [...]\Orthanc

?

Then open the "[...]/OrthancBuild/Orthanc.sln" with Visual Studio.

?

? ? ? ? 利用cmd進(jìn)入到命令提示符狀態(tài),仿照上述代碼,創(chuàng)建安裝緩存目錄,mkdir c:\OrthancBuild;隨后啟動(dòng)cmake命令行模式,按照INSTALL中的說(shuō)明設(shè)置編譯模式,具體指令為:

cd c:\OrthancBuild

cmake -DSTANDALONE_BUILD=ON -DSTATIC_BUILD=ON -DALLOW_DOWNLOADS=ON -G "Visual Studio 10" ..\Orthanc-0.8.5\Orthanc-0.8.5

? ? ? ? 注:目錄要指定到源碼中CMakeList.txt文件所在的層級(jí)。另外對(duì)于本地編譯器的選擇,可以現(xiàn)在cmd狀態(tài)下輸入cmake,查看當(dāng)前支持的編譯器類型,如下圖所示,我選擇的是Visual Studio 10。

?

?

? ? ? ? 上述打開(kāi)了自動(dòng)下載第三方支持庫(kù)的選項(xiàng),即-DALLOW_DOWNLOADS=ON?。在啟動(dòng)cmake后,會(huì)自動(dòng)下載我們?cè)贑Make GUI模式下提示缺少的各種支持庫(kù)。等待所有第三方庫(kù)自動(dòng)下載并安裝完成后,Orthanc源碼就順利編譯完成了,如下圖所示:

?

?

? ? ? ? 打開(kāi)上圖中提示的Build files文件路徑C:\Orthanc-0.8.5,雙擊打開(kāi)VS工程Orthanc.sln。選擇“生成”下的“批生成”,勾選ALL_BUILD項(xiàng)目,單擊“生成”后等待編譯完成。

? ? ? ? 順利編譯完成后,在C:\Orthanc-0.8.5\Debug目錄下看到了與二進(jìn)制安裝后相同的可執(zhí)行文件,名稱為Orthanc.exe,如下圖所示:

?

?

? ? ? ? 至此利用Orthanc源碼進(jìn)行安裝的過(guò)程順利結(jié)束。其實(shí)在CMake GUI模式下我們勾選了配置項(xiàng)中的“ALLOW_DOWNLOADS”,也可以順利完成Orthanc源碼的編譯。

?

?

Orthanc測(cè)試:

?

? ? ? ? Orthanc被描述為一款開(kāi)源的、輕量級(jí)的,滿足RESTfu API 的DICOM服務(wù)器。它獨(dú)特之處在于存在多種與Orthanc的交互方式,主要有三種:DICOM Server,Web Server和RESTful API。下面就利用這三種訪問(wèn)方式對(duì)上述兩種安裝環(huán)境進(jìn)行實(shí)例測(cè)試:

二進(jìn)制包的測(cè)試:

1)作為DICOM Server:

? ? ? ? 安裝并啟動(dòng)OrthancService.exe后,在任務(wù)管理器中可以看到啟動(dòng)了兩個(gè)服務(wù)駐留進(jìn)程OrthancService.exe和Orthanc-0.8.5-Release.exe

?

?

? ? ? ? Orthanc提供了發(fā)送和接收DICOM圖像的基本功能,類似于一個(gè)mini PACS。可以與DCMTK提供的工具包進(jìn)行良好的交互,此處我就借助DCMTK提供的storescu.exe工具將C:\test.dcm文件發(fā)送到Orthanc,具體指令如下:

storescu.exe –d –aec ORTHANC localhost 4242 c:\test.dcm

? ? ? ? 對(duì)于storescu.exe工具包的使用可參照我前幾篇的專欄,此處ORTHANCCalled AE Title4242是Orthanc中DICOM服務(wù)的監(jiān)聽(tīng)端口,該信息在安裝過(guò)程中指定的數(shù)據(jù)歸檔目錄(即c:\Orthanc)中的Connfiguration.json配置文件中可以自行設(shè)置,上述命令行中的參數(shù)是Orthanc安裝時(shí)默認(rèn)的設(shè)置。

?

?

? ? ? ? 命令執(zhí)行后,storescu.exe的輸出結(jié)果如下圖所示,說(shuō)明test.dcm文件已經(jīng)順利發(fā)送到Orthanc。

?

?

? ? ? ? 打開(kāi)Orthanc默認(rèn)的數(shù)據(jù)歸檔文件夾C:\Orthanc\OrthancStorage\6a\d6可以看到一個(gè)大小與test.dcm相同的文件,利用DICOM Viewer打開(kāi)可以看到兩者是同一個(gè)文件。這說(shuō)明Orthanc成功接收到storescu.exe發(fā)送的測(cè)試圖像。

?

?

2)作為Web Server:

?

? ? ? ? Orthanc內(nèi)置了一個(gè)Web Server(也可嵌入到Apache服務(wù)中),即Orthanc Explorer。Orthanc Explorer提供了一種友好的交互方式,可通過(guò)拖拽文件的方式實(shí)現(xiàn)DICOM文件上傳。下面我們演示一下:

? ? ? ? 在開(kāi)始菜單中選擇Open Orthanc Explorer,或者在Chrome或者Firefox瀏覽器中直接輸入http://localhost:8042/app/explorer.html(注:目前不支持IE瀏覽器)。打開(kāi)后此處可以直接看到我們剛才 利用storescu.exe上傳的test.dcm文件,如下圖所示:

? ? ? ? 單擊上圖右上角的Upload DICOM,出現(xiàn)如下界面:

? ? ? ?此時(shí)我們可以使用“拖拽”方式實(shí)現(xiàn)DICOM文件上傳。下面我選擇c:\test2.dcm文件,拖拽到上述頁(yè)面中,然后單擊Start the upload,會(huì)彈出上傳進(jìn)度條,如下所示:

? ? ? ? 返回上層界面,可以看到我們“拖拽”的test2.dcm文件已經(jīng)順利完成上傳,如下圖所示:

3)利用RESTful API:

? ? ? ? 下面介紹Orthanc最令人振奮的訪問(wèn)方式——RESTful API。它提供了一種使用標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議與圖像服務(wù)器進(jìn)行交互的方式,使得可以在任何地方(只要有網(wǎng)絡(luò)覆蓋)通過(guò)網(wǎng)絡(luò)連接訪問(wèn)Orthanc服務(wù)器,并且無(wú)需考慮服務(wù)運(yùn)行的平臺(tái)或開(kāi)發(fā)語(yǔ)言。RESTful APIs使用URIs來(lái)實(shí)現(xiàn)資源的定位與訪問(wèn),此處的資源包括patients、studies和images三級(jí),與DICOM協(xié)議中定義相同,傳統(tǒng)的PACS也多以此作為數(shù)據(jù)庫(kù)的設(shè)計(jì)原則。對(duì)于該類請(qǐng)求,Orthanc會(huì)將文本信息以JSON格式返回(JSON是一種輕量級(jí)的廣泛應(yīng)用的文件格式);對(duì)于圖像信息會(huì)返回PNG網(wǎng)絡(luò)圖像格式。該部分想必大家都很熟悉,下面我們就直接演示一下:

? ? ? ? 此處借助于curl.exe工具,在cmd模式下輸入:

cd c:\

curl –X POST?http://localhost:8042/instances?–data-binary @test3.dcm

? ? ? ? 得到如下結(jié)果表明test3.dcm圖像上傳成功,

? ? ? ? 打開(kāi)Orthanc Explorer可以看到剛才上傳的test3.dcm文件:

源碼編譯后測(cè)試:

? ? ? ? 在任務(wù)管理器中先手動(dòng)終止OrthancService.exe和Orthanc-0.8.5-Release.exe兩個(gè)Orthanc后臺(tái)服務(wù)進(jìn)程,轉(zhuǎn)到編譯源碼生成的目錄C:\Orthanc-0.8.5\Debug下,啟動(dòng)Orthanc.exe,如下圖所示:(調(diào)試狀態(tài)下Orthanc.exe會(huì)輸出狀態(tài)信息,也可以在命令行下啟動(dòng)Orthanc.exe --verbose輸出調(diào)試信息)

? ? ? ? 仿照上一節(jié),從DICOM Server、Web Server和RESTful API三種方式進(jìn)行測(cè)試:

1)DICOM Server

? ? ? ? 進(jìn)入cmd模式,輸入:

storescu.exe –d –aec ORTHANC localhost 4242 c:\test.dcm,可以看到圖像上傳成功的結(jié)果:

2)Web Server

? ? ? ? 打開(kāi)谷歌瀏覽器,地址欄輸入http://localhost:8042/app/explorer.html,可以看到剛才上傳的test.dcm文件,如下圖:

? ? ? ? 單擊Upload DICOM,拖拽test2.dcm文件到瀏覽器頁(yè)面,然后單擊Start the Upload,返回到主頁(yè)面可以看到順利上傳的結(jié)果,如下圖:

? ? ? ? 打開(kāi)目錄C:\Orthanc-0.8.5\Debug\OrthancStorage,可以看到順利歸檔的兩個(gè)文件

3)RESTful API

? ? ? ? 進(jìn)入cmd模式,輸入如下指令:

cd c:\

curl –X POST?http://localhost:8042/instances?–data-binary @test3.dcm

? ? ? ? 在Orthanc Explorer中可以順利看到結(jié)果,如下圖:

? ? ? ??【注】:與二進(jìn)制安裝環(huán)境下不同的是,curl運(yùn)行時(shí)會(huì)偶爾返回錯(cuò)誤提示,出現(xiàn)這種情況后重啟Orthanc.exe就可以解決。

知識(shí)點(diǎn)補(bǔ)充:

RESTful API:

? ? ? ? RESTful API是目前比較成熟的一套互聯(lián)網(wǎng)應(yīng)用程序的API設(shè)計(jì)理論。REST,全稱Representational State Transfer,最早是由Roy Thomas Fielding在他2000年的博士論文中提出的。論文中的部分摘要如下:

This dissertation explores a junction on the frontiers of two research disciplines in computer science: software and networking. Software research has long been concerned with the categorization of software designs and the development of design methodologies, but has rarely been able to objectively evaluate the impact of various design choices on system behavior. Networking research, in contrast, is focused on the details of generic communication behavior between systems and improving the performance of particular communication techniques, often ignoring the fact that changing the interaction style of an application can have more impact on performance than the communication protocols used for that interaction. My work is motivated by the desire to understand and evaluate the architectural design of network-based application software through principled use of architectural constraints, thereby obtaining the functional, performance, and social properties desired of an architecture.

? ? ? ? 如果一個(gè)架構(gòu)符合REST原則,就稱它為RESTful架構(gòu)。要理解RESTful結(jié)構(gòu),需要充分理解Representational State Transfer?這個(gè)詞組的含義,每個(gè)詞代表什么意思。該詞組中省略了主語(yǔ),表現(xiàn)層(representational)其實(shí)指的是資源(resources)的表現(xiàn)層。所謂資源就是網(wǎng)絡(luò)上的一個(gè)實(shí)體,或者說(shuō)網(wǎng)絡(luò)上的一個(gè)具體信息。REST從資源的角度來(lái)觀察整個(gè)網(wǎng)絡(luò),分布在各處的資源由URI確定,而客戶端的應(yīng)用通過(guò)URI來(lái)獲取資源的表示方式。所謂上網(wǎng),就是互聯(lián)網(wǎng)上一系列“資源”的互動(dòng),一系列URI的調(diào)用。

? ? ? ? 資源是一種信息實(shí)體,可以有多種表現(xiàn)形式,叫做“表現(xiàn)層(representation)”,例如文本可以用txt表示,也可以用html、xml、JSON表示,甚至可以使用二進(jìn)制格式;圖片可以用JPEG、PNG等格式。URI只代表資源實(shí)體,不代表它的表現(xiàn)形式。有些網(wǎng)址最后的.html后綴名是不需要的,因?yàn)?html后綴是一種表示格式,屬于“表現(xiàn)層”范疇,URI只代表資源的位置。

? ? ? ? 訪問(wèn)一個(gè)網(wǎng)站,就代表客戶端與服務(wù)器的一個(gè)互動(dòng)過(guò)程。這個(gè)過(guò)程中勢(shì)必會(huì)涉及到數(shù)據(jù)和狀態(tài)的改變。互聯(lián)網(wǎng)通信協(xié)議HTTP協(xié)議,是一個(gè)無(wú)狀態(tài)協(xié)議。這意味著,所有的狀態(tài)都保存在服務(wù)器端。因此,如果客戶端想要操作服務(wù)器,必須通過(guò)某種手段,讓服務(wù)器端發(fā)生"狀態(tài)轉(zhuǎn)化"(State Transfer)。而這種轉(zhuǎn)化是建立在表現(xiàn)層之上的,所以就是"表現(xiàn)層狀態(tài)轉(zhuǎn)化"。客戶端用到的手段,只能是HTTP協(xié)議。具體來(lái)說(shuō),就是HTTP協(xié)議里面,四個(gè)表示操作方式的動(dòng)詞:GET、POST、PUT、DELETE。它們分別對(duì)應(yīng)四種基本操作:GET用來(lái)獲取資源,POST用來(lái)新建資源(也可以用于更新資源),PUT用來(lái)更新資源,DELETE用來(lái)刪除資源。獲得這些表會(huì)致使這些應(yīng)用程序轉(zhuǎn)變了其狀態(tài)。隨著不斷獲取資源的表示方式,客戶端應(yīng)用不斷地在轉(zhuǎn)變著其狀態(tài),所謂表述性狀態(tài)轉(zhuǎn)移(Representational State Transfer)。——這一觀點(diǎn)不是憑空臆造的,而是通過(guò)觀察當(dāng)前Web互聯(lián)網(wǎng)的運(yùn)作方式而抽象出來(lái)的。Roy Fielding 認(rèn)為,“設(shè)計(jì)良好的網(wǎng)絡(luò)應(yīng)用表現(xiàn)為一系列的網(wǎng)頁(yè),這些網(wǎng)頁(yè)可以看作的虛擬的狀態(tài)機(jī),用戶選擇這些鏈接導(dǎo)致下一網(wǎng)頁(yè)傳輸?shù)接脩舳苏宫F(xiàn)給使用的人,而這正代表了狀態(tài)的轉(zhuǎn)變”。

? ? ? ? 綜合上面的解釋,我們總結(jié)一下什么是RESTful架構(gòu):

  • 每一個(gè)URI代表一種資源;
  • 客戶端和服務(wù)器之間,傳遞這種資源的某種表現(xiàn)層;
  • 客戶端通過(guò)四個(gè)HTTP動(dòng)詞,對(duì)服務(wù)器端資源進(jìn)行操作,實(shí)現(xiàn)"表現(xiàn)層狀態(tài)轉(zhuǎn)化";

WADO:

? ? ? ? 關(guān)于WADO的詳細(xì)介紹可以參考DICOM3.0標(biāo)準(zhǔn)的第18部分。

參考資料:

http://www.orthanc-server.com/index.php,Orthanc官網(wǎng)

http://www.orthanc-server.com/blog.php,Orthanc

http://www.auntminnie.com/index.aspx?sec=ser&sub=def&pag=dis&ItemID=107001,Deconstructed PACS

http://www.auntminnie.com/index.aspx?sec=sup&sub=pac&pag=dis&ItemID=55408,Deconstructed PACS

http://siim.org/siim2014/scientific-program/deconstructed-pacs,Deconstructed PACS

http://idoimaging.com/blog/?p=288,I Do Imaging

http://www.codeproject.com/Articles/797118/Implementing-a-WADO-Server-using-Orthanc,Orthanc Plugins SDK

http://baike.baidu.com/view/5798116.htm?fr=aladdin,RESTful APIs

http://www.cnblogs.com/springyangwc/archive/2012/01/18/2325784.html,RESTful APIs

?

?

?

?

?

作者:zssure@163.com

?

時(shí)間:2014-11-23

轉(zhuǎn)載于:https://www.cnblogs.com/h2zZhou/p/5215853.html

總結(jié)

以上是生活随笔為你收集整理的[转]DICOM医学图像处理:Deconstructed PACS之Orthanc的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 可以免费看污视频的网站 | 色播激情| 欧美一级免费黄色片 | 亚洲av综合永久无码精品天堂 | 欧美一区二区激情视频 | 欧美群妇大交群 | 一本久道视频一本久道 | 欧美日韩一区二区三区在线视频 | 亚洲av无码一区二区三区在线播放 | 国产日韩精品一区二区 | 粉嫩av蜜桃av蜜臀av | 午夜视频成人 | 精品1卡二卡三卡四卡老狼 日韩三级网 | 免费激情小视频 | 国产成人精品二区三区亚瑟 | 关秀媚三级 | 日韩美女一级片 | 亚洲九九精品 | 91九色蝌蚪 | 爱爱视频网 | www.色国产 | 伊人伊人伊人 | 2025国产精品 | 在线aa| 一个色在线视频 | 亚洲男女啪啪 | 欧美成人精品在线观看 | 超碰在线公开免费 | 欧美激情图片 | 韩国三级一区 | 欧美黄页在线观看 | 激情视频激情小说 | 成人欧美视频在线观看 | 性猛交xxxx乱大交孕妇印度 | 国产精品视频麻豆 | 亚洲成年人在线观看 | 欧美日韩18 | 麻豆三级在线观看 | 国产高清精品软件丝瓜软件 | 日本一级黄| 欧美日韩在线视频免费播放 | 黄色一级大片免费看 | 免费观看日韩毛片 | 日批的视频 | 久久久久久精 | 亚洲精品一区三区三区在线观看 | 欧美xxxx精品 | 欧美在线中文 | www.自拍偷拍 | 亚洲精品手机在线 | 久久激情免费视频 | 欧美a√ | 琪琪原网址 | 国产在线观看网站 | 日本资源在线 | 99热这里只有精品3 成年人黄色网址 | 成人性做爰aaa片免费 | 在线免费观看日韩视频 | 北条麻妃一区二区三区免费 | 久久久久成人精品无码中文字幕 | 91精品国产综合久久香蕉 | 一卡二卡三卡 | 久操资源网 | 国产日皮视频 | 黄色特级大片 | 成人h动漫精品一区 | 国精产品99永久一区一区 | 日日夜夜撸啊撸 | 美女无遮挡网站 | 一区福利 | 天天综合亚洲 | 3344av| 欧美性猛片aaaaaaa做受 | 日本一区二区高清视频 | 图片区视频区小说区 | 亚洲伦理一区二区三区 | 精品国产视频一区二区 | 1000亚洲裸体人体 | 精品国产无码在线 | 蜜桃av噜噜一区二区三区麻豆 | 久久国产网 | 久久久精品中文字幕 | 国产婷婷在线观看 | 国产女同在线观看 | 久久久久久久久久久久97 | 国产精品久久久一区二区 | 免费福利av| 福利午夜视频 | 欧美 日韩 国产 成人 | 少妇性l交大片免潘金莲 | 亚洲精品国产99 | 性中文字幕| 亚洲xxx视频 | 高清视频免费在线观看 | 性插动态视频 | 欧美三级一区二区 | 丰满人妻一区二区三区大胸 | 欧美成人手机在线 | 有码av在线|