Halaman ini menjelaskan cara menyimpan, menganalisis, dan mengelola gambar slide utuh (WSI) menggunakan Cloud Healthcare API.
Ringkasan
Patologi digital memungkinkan penyimpanan, pemrosesan, dan pengelolaan slide kaca konvensional dengan mendigitalkannya untuk menghasilkan gambar seluruh slide (WSI).
WSI biasanya berupa file besar yang ukurannya bisa mencapai beberapa GB. File tersebut tersedia dalam berbagai format file, sehingga sulit dikelola. Cloud Healthcare API menyederhanakan proses penyimpanan, analisis, dan pengelolaan WSI.
Menyimpan gambar slide utuh menggunakan DICOM
Cloud Healthcare API menyediakan layanan terkelola untuk menyimpan gambar DICOM. Layanan ini juga mendukung penyimpanan dan pengambilan WSI. Untuk mengetahui informasi selengkapnya tentang DICOM di Cloud Healthcare API, lihat DICOM.
Penggunaan DICOM memiliki manfaat berikut:
- Mendukung beberapa vendor dan software.
- DICOM adalah format file dan juga protokol jaringan yang menentukan DICOMweb dan DIMSE API. API ini, yang digunakan untuk mengambil dan menyimpan instance DICOM, menyediakan fungsi yang ekstensif dan menyederhanakan interaksi dengan gambar.
Mengonversi seluruh gambar slide ke DICOM
Sebagian besar pemindai WSI tidak menghasilkan file DICOM secara native dari WSI. Akibatnya, Anda harus mengonversi WSI ke file DICOM secara manual.
Alat berikut dapat mengonversi WSI ke DICOM:
Bagian berikut menunjukkan cara menggunakan alat command line wsi2dcm untuk membuat file DICOM.
Membuat file DICOM menggunakan alat command line wsi2dcm
Sebelum menyelesaikan langkah-langkah berikut, pastikan Anda memiliki file WSI yang valid. Data sampel tersedia dari OpenSlide dan resource lain yang tercantum di situs Digital Pathology Association.
Jalankan alat command line wsi2dcm:
wsi2dcm \ --input=INPUT_WSI \ --outFolder=PATH/TO/OUTPUT/FOLDER \ --seriesDescription=WSI_DESCRIPTION
dengan:
- INPUT_WSI adalah jalur dan nama file WSI.
- PATH/TO/OUTPUT/FOLDER adalah jalur tempat alat menghasilkan file DICOM yang dikonversi.
- WSI_DESCRIPTION adalah deskripsi pilihan Anda untuk file DICOM yang dikonversi.
Menjalankan alat ini akan menghasilkan beberapa file DICOM dari WSI. File DICOM memiliki akhiran .dcm
.
Mengupload file DICOM ke Cloud Healthcare API
Jika Anda belum membuat penyimpanan DICOM, lakukan sekarang.
Anda dapat mengupload file DICOM yang dihasilkan di penyimpanan DICOM menggunakan salah satu metode berikut:
- Menyimpan file secara langsung menggunakan penerapan transaksi Penyimpanan DICOMweb Cloud Healthcare API
- Menyimpan file menggunakan alat DICOMweb CLI
Mengambil file DICOM dan metadatanya
Setelah mengupload file DICOM ke penyimpanan DICOM, Anda dapat mencantumkan dan melihat metadata tentang gambar DICOM.
Mencantumkan gambar seluruh slide
Setiap WSI adalah studi DICOM. Untuk mencantumkan WSI, Anda dapat memanggil metode
dicomStores.searchForStudies
:
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: ID Google Cloud project Anda
- LOCATION: lokasi set data
- DATASET_ID: set data induk DICOM store
- DICOM_STORE_ID: ID penyimpanan DICOM
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies" | Select-Object -Expand Content
APIs Explorer
Buka halaman referensi metode. Panel APIs Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.
Anda akan melihat respons JSON seperti berikut:
Melihat metadata gambar slide secara keseluruhan
Setiap studi berisi beberapa instance, dan setiap instance berisi subset
petak WSI. Untuk melihat metadata instance untuk instance dalam studi, panggil metode
dicomStores.searchForInstances
:
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: ID Google Cloud project Anda
- LOCATION: lokasi set data
- DATASET_ID: set data induk DICOM store
- DICOM_STORE_ID: ID penyimpanan DICOM
- STUDY_INSTANCE_UID: ID unik (UID) instance studi
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/instances?StudyInstanceUID=STUDY_INSTANCE_UID"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/instances?StudyInstanceUID=STUDY_INSTANCE_UID" | Select-Object -Expand Content
APIs Explorer
Buka halaman referensi metode. Panel APIs Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.
Anda akan melihat respons JSON seperti berikut:
Melihat seluruh kotak gambar slide
Setiap instance biasanya berisi beberapa frame. Frame mewakili satu petak
WSI pada tingkat zoom tertentu dalam "piramida" WSI.
Untuk mengambil satu frame dalam format JPEG, panggil metode frames.retrieveRendered
:
curl
Untuk mengambil satu frame dalam format JPEG, buat permintaan GET
dan tentukan informasi berikut:
- Nama set data induk
- Nama penyimpanan DICOM
- UID studi
- UID serial
- UID instance
- Token akses
Contoh berikut menunjukkan permintaan GET
menggunakan curl
.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Accept: image/jpeg" \ --output FILENAME \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID/instances/INSTANCE_UID/frames/0/rendered"
Jika permintaan berhasil, file JPEG akan ditulis ke komputer Anda.
PowerShell
Untuk mengambil satu frame dalam format JPEG, buat permintaan GET
dan tentukan informasi berikut:
- Nama set data induk
- Nama penyimpanan DICOM
- UID studi
- UID serial
- UID instance
- Token akses
Contoh berikut menunjukkan permintaan GET
menggunakan Windows PowerShell.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred"; "Accept" = "image/jpeg" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -OutFile FILENAME ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID/instances/INSTANCE_UID/frames/0/rendered"
Jika permintaan berhasil, file JPEG akan ditulis ke komputer Anda.
Mengambil semua gambar slide utuh
Untuk mengambil seluruh instance, yang berisi WSI, gunakan metode
instances.retrieveInstance
:
curl
Untuk mengambil seluruh instance, buat permintaan GET
dan tentukan informasi berikut:
- Nama set data induk
- Nama penyimpanan DICOM
- UID studi
- UID serial
- UID instance
- Token akses
Contoh berikut menunjukkan permintaan GET
menggunakan curl
.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Accept: application/dicom" \ --output FILENAME \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID/instances/INSTANCE_UID"
Jika permintaan berhasil, file DICOM akan ditulis ke mesin Anda.
PowerShell
Untuk mengambil seluruh instance, buat permintaan GET
dan tentukan informasi berikut:
- Nama set data induk
- Nama penyimpanan DICOM
- UID studi
- UID serial
- UID instance
- Token akses
Contoh berikut menunjukkan permintaan GET
menggunakan Windows PowerShell.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred"; "Accept" = "application/dicom" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -OutFile FILENAME ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID/instances/INSTANCE_UID"
Jika permintaan berhasil, file DICOM akan ditulis ke mesin Anda.
Melihat slide menggunakan penampil gambar seluruh slide
Bagian sebelumnya menunjukkan cara melihat metadata WSI dan mengambil setiap petak. Untuk melihat seluruh WSI, Anda harus menggunakan penampil WSI yang didukung oleh DICOMweb.
Penampil berikut kompatibel dengan Cloud Healthcare API:
Melihat file DICOM WSI yang dikonversi menggunakan penampil WSI DICOMweb
Selesaikan bagian berikut untuk menggunakan DICOMweb WSI Viewer guna melihat file DICOM WSI yang dikonversi.
Mendownload penampil
Download DICOMweb WSI Viewer:
git clone https://github.com/GoogleCloudPlatform/dicomweb-wsi-viewer.git
Mendapatkan rahasia klien
Secret klien mengautentikasi pengguna saat pengguna mengakses aplikasi. Anda menyematkan rahasia klien dalam kode sumber DICOMweb WSI Viewer. Untuk mendapatkan rahasia klien, selesaikan langkah-langkah berikut:
Buka halaman Credentials di konsol Google Cloud .
Buka halaman KredensialKlik Buat kredensial, lalu pilih ID klien OAuth.
Di bagian Application type, pilih Web application.
Tambahkan Nama pilihan Anda.
Di bagian Authorized JavaScript origins dan Authorized redirect URIs, masukkan
http://localhost:8000
.Klik Buat, lalu klik Oke di jendela klien OAuth yang muncul. Salin ID klien untuk digunakan di bagian berikutnya.
Mengonfigurasi rahasia klien di penampil
Selesaikan langkah-langkah berikut menggunakan ID klien yang Anda peroleh di bagian sebelumnya:
Dalam direktori
dicomweb-wsi-viewer
, buka fileviewer.js
.Ganti baris berikut sehingga berisi client ID Anda.
const CLIENT_ID = 'INSERT-YOUR-CLIENT-ID-HERE'
Baris tersebut seharusnya terlihat seperti contoh berikut:
const CLIENT_ID = 'PROJECT_ID-VALUE.apps.googleusercontent.com';
Simpan file.
Mengonfigurasi layar izin OAuth
Jika Anda belum mengonfigurasi Google Cloud layar izin OAuth project, selesaikan langkah-langkah berikut:
Di bagian Email dukungan, pilih alamat email yang ingin Anda tampilkan sebagai kontak publik. Alamat email ini harus berupa alamat email Anda atau Grup Google yang Anda miliki.
Masukkan Nama aplikasi yang ingin Anda tampilkan.
Klik Tambahkan cakupan. Pada dialog yang muncul, masukkan
https://www.googleapis.com/auth/cloud-healthcare
, lalu klik Tambahkan.Klik Simpan.
Untuk mengubah informasi di layar izin OAuth nanti, seperti nama produk atau alamat email, ulangi langkah-langkah sebelumnya untuk mengonfigurasi layar izin.
Jika Anda telah mengonfigurasi layar izin OAuth project, Anda harus menambahkan https://www.googleapis.com/auth/cloud-healthcare
di dialog Tambahkan cakupan. Google Cloud
Menjalankan penampil WSI DICOMweb
Di direktori
dicomweb-wsi-viewer
, jalankan perintah berikut:python -m http.server 8000
Buka
https://localhost:8000
di komputer tempat Anda menjalankan perintah sebelumnya.Di UI, klik Sign in/Authorize untuk mengakses layar izin OAuth dan memberikan izin kepada pelihat untuk mengakses project dan resource Cloud Healthcare API Anda. Google Cloud