hku-medai / wsi-hgnn Goto Github PK
View Code? Open in Web Editor NEW[CVPR'23] Histopathology Whole Slide Image Analysis with Heterogeneous Graph Representation Learning
[CVPR'23] Histopathology Whole Slide Image Analysis with Heterogeneous Graph Representation Learning
I'd like to ask about labeling WSIs in TCGA-BRCA. There are 11765 svs files in TCGA-BRCA. Are their labels obtained from the 'sample_type' column in the nationwidechildrens.org_biospecimen_sample_brca.txt? However, this file only contains 1150 labels. Could you provide some guidance? Thank you very much!
(pytorch) zhangyuedi@csr-SYS-4028GR-TR:~/His$ /home/zhangyuedi/anaconda3/envs/pytorch/bin/python /home/zhangyuedi/His/WSI-HGNN-main/main.py
Loaded configs from /home/zhangyuedi/His/WSI-HGNN-main/configs/BRCA/HEAT4_kimia_classification_v2.yml
Start training Homogeneous GNN
0%| | 0/500 [00:00<?, ?it/s]
Traceback (most recent call last):
File "/home/zhangyuedi/His/WSI-HGNN-main/main.py", line 65, in
main()
File "/home/zhangyuedi/His/WSI-HGNN-main/main.py", line 50, in main
trainer.train()
File "/home/zhangyuedi/His/WSI-HGNN-main/trainer/train_gnn.py", line 96, in train
for graphs, label in self.dataloader:
File "/home/zhangyuedi/anaconda3/envs/pytorch/lib/python3.10/site-packages/torch/utils/data/dataloader.py", line 633, in next
data = self._next_data()
File "/home/zhangyuedi/anaconda3/envs/pytorch/lib/python3.10/site-packages/torch/utils/data/dataloader.py", line 677, in _next_data
data = self._dataset_fetcher.fetch(index) # may raise StopIteration
File "/home/zhangyuedi/anaconda3/envs/pytorch/lib/python3.10/site-packages/torch/utils/data/_utils/fetch.py", line 54, in fetch
return self.collate_fn(data)
File "/home/zhangyuedi/anaconda3/envs/pytorch/lib/python3.10/site-packages/dgl/dataloading/dataloader.py", line 1376, in collate
return [self.collate(samples) for samples in transposed]
File "/home/zhangyuedi/anaconda3/envs/pytorch/lib/python3.10/site-packages/dgl/dataloading/dataloader.py", line 1376, in
return [self.collate(samples) for samples in transposed]
File "/home/zhangyuedi/anaconda3/envs/pytorch/lib/python3.10/site-packages/dgl/dataloading/dataloader.py", line 1330, in collate
batched_graphs = batch_graphs(items)
File "/home/zhangyuedi/anaconda3/envs/pytorch/lib/python3.10/site-packages/dgl/batch.py", line 173, in batch
gidx = disjoint_union(
File "/home/zhangyuedi/anaconda3/envs/pytorch/lib/python3.10/site-packages/dgl/heterograph_index.py", line 1432, in disjoint_union
return _CAPI_DGLHeteroDisjointUnion_v2(metagraph, graphs)
File "dgl/_ffi/_cython/./function.pxi", line 295, in dgl._ffi._cy3.core.FunctionBase.call
File "dgl/_ffi/_cython/./function.pxi", line 227, in dgl._ffi._cy3.core.FuncCall
File "dgl/_ffi/_cython/./function.pxi", line 217, in dgl._ffi._cy3.core.FuncCall3
dgl._ffi.base.DGLError: [17:24:52] /opt/dgl/src/graph/unit_graph.cc:1195: Check failed: mat.num_rows == mat.num_cols (36 vs. 19) :
Stack trace:
[bt] (0) /home/zhangyuedi/anaconda3/envs/pytorch/lib/python3.10/site-packages/dgl/libdgl.so(+0x86d61a) [0x7fb1c666d61a]
[bt] (1) /home/zhangyuedi/anaconda3/envs/pytorch/lib/python3.10/site-packages/dgl/libdgl.so(dgl::UnitGraph::CreateFromCOO(long, dgl::aten::COOMatrix const&, unsigned char)+0x2a8) [0x7fb1c666ff28]
[bt] (2) /home/zhangyuedi/anaconda3/envs/pytorch/lib/python3.10/site-packages/dgl/libdgl.so(dgl::DisjointUnionHeteroGraph2(std::shared_ptrdgl::GraphInterface, std::vector<std::shared_ptrdgl::BaseHeteroGraph, std::allocator<std::shared_ptrdgl::BaseHeteroGraph > > const&)+0x408) [0x7fb1c6660f68]
[bt] (3) /home/zhangyuedi/anaconda3/envs/pytorch/lib/python3.10/site-packages/dgl/libdgl.so(+0x78926e) [0x7fb1c658926e]
[bt] (4) /home/zhangyuedi/anaconda3/envs/pytorch/lib/python3.10/site-packages/dgl/libdgl.so(+0x789414) [0x7fb1c6589414]
[bt] (5) /home/zhangyuedi/anaconda3/envs/pytorch/lib/python3.10/site-packages/dgl/libdgl.so(DGLFuncCall+0x48) [0x7fb1c650e3f8]
[bt] (6) /home/zhangyuedi/anaconda3/envs/pytorch/lib/python3.10/site-packages/dgl/_ffi/_cy3/core.cpython-310-x86_64-linux-gnu.so(+0x15413) [0x7fb1c4a15413]
[bt] (7) /home/zhangyuedi/anaconda3/envs/pytorch/lib/python3.10/site-packages/dgl/_ffi/_cy3/core.cpython-310-x86_64-linux-gnu.so(+0x15c2b) [0x7fb1c4a15c2b]
[bt] (8) /home/zhangyuedi/anaconda3/envs/pytorch/bin/python(_PyObject_MakeTpCall+0x26b) [0x557a527709db]
I would like to express my sincere appreciation for your remarkable achievement. I am truly impressed with the methods you have employed, and I am eager to replicate your work for application to other types of cancers. However, I have a crucial inquiry regarding the dataset mentioned in your paper.
Upon reviewing the TCGA data portal, I noticed the absence of "normal" cases in BRCA and COAD. Specifically, in the case of BRCA, there are only abnormal cases, such as ductal and lobular neoplasms, cystic, mucinous, and serous neoplasms, complex epithelial neoplasms, among others, totaling 1098 case IDs. Similarly, for COAD, there are only abnormal cases, including adenomas and adenocarcinomas, cystic, mucinous, and serous neoplasms, complex epithelial neoplasms, with a total of 461 case IDs.
The data in "typing_BRCA.txt" lacks information about normal cases, and there is no data related to COAD in the designated data folder. Additionally, the number of whole-slide images (WSI) does not align with the data currently accessible in the TCGA data portal. Therefore, it is essential for you to provide all case IDs and accurate labels used in your work to validate the robustness of your method.
Furthermore, it appears that you utilized all WSIs without distinguishing between diagnosis and tissue slides. I would like to bring to your attention that such an approach is not common in the field of pathology. It would be beneficial for you to clarify and justify this aspect of your methodology. I look forward to your prompt response and appreciate your understanding in addressing these concerns.
Hi! I will be very appreciated if you can upload the ./checkpoints and ./data to share the weights of pretrianed hovernet and Kiamianet with their json files.
Hi, thanks for your great work!
I'm interested in the cancer staging task, do you have detailed (pixel- or patch- level) annotations related to this task that can help verify the model‘s performance through comparing the attention map and ground truth? Looking forward to your reply.
Hi, may I ask how you got the 213 samples for the cancer typing task? Below is a screenshot of what I got when I access the TCGA-ESCA from the GDC portal. After filtering out the slides that are labeled normal, I only got 172 slides to work with. Could you provide the details of how you deal with slides that are labeled normal? Thanks in advance.
Hello, I am a graduate student in a university. After reading your paper, I am impressed that your articles and codes are very excellent, and I want to try to learn some knowledge of drawing construction. However, due to personal ability, there are some problems in the step of get.graph.py. I would like to ask you about the./data/biomedical_data/normal_list.txt file in get_graph.py and data/biomedical_data/normal_list_BRCA.txt and data/clinical _data/staging.txt file is the name sequence file of the data set, Other in configs/GraphConstruction/BRCA_HovernetKimia_graph_constructor yml file hovernet_data_root refers to what path, I'm very sorry my my problem is a bit much, But I am very eager to study under your guidance. I hope you can spare your precious time to help me answer my questions. Thank you very much.
Very good work, I would like to ask you about how long it took you to use Hover-Net for wsi image segmentation of BRCA data sets? It takes me about half an hour to segment a wsi picture using 4*RTX A6000(48GB). Is this time too long? Looking forward to your reply.
Hi! Thanks for sharing this work. Could you please share the environment setup instruction,e.g., the conda environment txt file?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.