{
  "id": 441402,
  "title": "Active Extravasation Bounding Boxes [Updated 9/19]",
  "url": "/competitions/rsna-2023-abdominal-trauma-detection/discussion/441402",
  "author_name": "Ian Pan",
  "post_date": "2023-09-18T15:01:41.353000",
  "votes": 47,
  "comment_count": 24,
  "views": 0,
  "content": "<p><strong>Update 9/19/2023:</strong> This has been fixed, and a new version has been uploaded.</p>\n<p><strong>Update 9/19/2023:</strong> It looks like there are about 100 images where the bounding box is much larger than I remember annotating. After checking, it seems that the annotations for these images did not save. Please exclude any annotation where the width (x2 - x1) is greater than 400 while I fix these.</p>\n<p>Active extravasation is important to detect clinically, since active bleeding can cause a patient to quickly decompensate. Consequently, the weight of active extravasation for this challenge is the highest of all the classes.</p>\n<p>In many cases, active extravasation manifests as only a small blush of contrast on a few images, which can make it hard to detect - a true needle in the haystack. </p>\n<p>To help improve detection of active extravasation, I went through all of the images with this label and drew a bounding box around the area. This data is available here: <a href=\"https://www.kaggle.com/datasets/vaillant/rsna-abdominal-trauma-extravasation-bounding-boxes\" target=\"_blank\">https://www.kaggle.com/datasets/vaillant/rsna-abdominal-trauma-extravasation-bounding-boxes</a></p>\n<p>There are still over 3 weeks to go in this competition, so I hope this will be useful to competitors and allow for the creation of better models for this task.</p>\n<p>A few things to note:</p>\n<ol>\n<li>Each image only has 1 bounding box. Sometimes there were multiple blushes of contrast in which case I just drew a bounding box that contained all them. In a few cases the box ended up being quite large. This was mainly to make labeling easier for myself. </li>\n<li>There were some images where I could just not see the blush, so I did not draw a box. This is why the number of bounding box annotations is slightly less than the number of images with the active extravasation label. There were no cases where I could not identify active extravasation on any images, which is good.</li>\n<li>In many cases, the areas of active extravasation were in the soft tissues (i.e., external to the abdominal cavity) or in the pelvis. A true minority of cases were active extravasation within the solid visceral organs (liver, spleen, kidney). </li>\n<li>Oftentimes, the top-most and bottom-most images had very faint contrast blushes, where I would only really notice them because I knew where the blush was from the middle slices where it was more obvious. I did draw boxes around these. </li>\n</ol>\n<p>Disclaimer: I am not yet a board-certified radiologist. I am a US radiology resident at the beginning of my 3rd year of residency. However, I am confident that I correctly identified the finding in &gt;95% of images. </p>",
  "messages": [
    {
      "id": 2444968,
      "postDate": "2023-09-18T15:01:41.353Z",
      "content": "<p><strong>Update 9/19/2023:</strong> This has been fixed, and a new version has been uploaded.</p>\n<p><strong>Update 9/19/2023:</strong> It looks like there are about 100 images where the bounding box is much larger than I remember annotating. After checking, it seems that the annotations for these images did not save. Please exclude any annotation where the width (x2 - x1) is greater than 400 while I fix these.</p>\n<p>Active extravasation is important to detect clinically, since active bleeding can cause a patient to quickly decompensate. Consequently, the weight of active extravasation for this challenge is the highest of all the classes.</p>\n<p>In many cases, active extravasation manifests as only a small blush of contrast on a few images, which can make it hard to detect - a true needle in the haystack. </p>\n<p>To help improve detection of active extravasation, I went through all of the images with this label and drew a bounding box around the area. This data is available here: <a href=\"https://www.kaggle.com/datasets/vaillant/rsna-abdominal-trauma-extravasation-bounding-boxes\" target=\"_blank\">https://www.kaggle.com/datasets/vaillant/rsna-abdominal-trauma-extravasation-bounding-boxes</a></p>\n<p>There are still over 3 weeks to go in this competition, so I hope this will be useful to competitors and allow for the creation of better models for this task.</p>\n<p>A few things to note:</p>\n<ol>\n<li>Each image only has 1 bounding box. Sometimes there were multiple blushes of contrast in which case I just drew a bounding box that contained all them. In a few cases the box ended up being quite large. This was mainly to make labeling easier for myself. </li>\n<li>There were some images where I could just not see the blush, so I did not draw a box. This is why the number of bounding box annotations is slightly less than the number of images with the active extravasation label. There were no cases where I could not identify active extravasation on any images, which is good.</li>\n<li>In many cases, the areas of active extravasation were in the soft tissues (i.e., external to the abdominal cavity) or in the pelvis. A true minority of cases were active extravasation within the solid visceral organs (liver, spleen, kidney). </li>\n<li>Oftentimes, the top-most and bottom-most images had very faint contrast blushes, where I would only really notice them because I knew where the blush was from the middle slices where it was more obvious. I did draw boxes around these. </li>\n</ol>\n<p>Disclaimer: I am not yet a board-certified radiologist. I am a US radiology resident at the beginning of my 3rd year of residency. However, I am confident that I correctly identified the finding in &gt;95% of images. </p>",
      "rawMarkdown": "**Update 9/19/2023:** This has been fixed, and a new version has been uploaded.\n\n**Update 9/19/2023:** It looks like there are about 100 images where the bounding box is much larger than I remember annotating. After checking, it seems that the annotations for these images did not save. Please exclude any annotation where the width (x2 - x1) is greater than 400 while I fix these.\n\nActive extravasation is important to detect clinically, since active bleeding can cause a patient to quickly decompensate. Consequently, the weight of active extravasation for this challenge is the highest of all the classes.\n\nIn many cases, active extravasation manifests as only a small blush of contrast on a few images, which can make it hard to detect - a true needle in the haystack. \n\nTo help improve detection of active extravasation, I went through all of the images with this label and drew a bounding box around the area. This data is available here: https://www.kaggle.com/datasets/vaillant/rsna-abdominal-trauma-extravasation-bounding-boxes\n\nThere are still over 3 weeks to go in this competition, so I hope this will be useful to competitors and allow for the creation of better models for this task.\n\nA few things to note:\n1. Each image only has 1 bounding box. Sometimes there were multiple blushes of contrast in which case I just drew a bounding box that contained all them. In a few cases the box ended up being quite large. This was mainly to make labeling easier for myself. \n2. There were some images where I could just not see the blush, so I did not draw a box. This is why the number of bounding box annotations is slightly less than the number of images with the active extravasation label. There were no cases where I could not identify active extravasation on any images, which is good.\n3. In many cases, the areas of active extravasation were in the soft tissues (i.e., external to the abdominal cavity) or in the pelvis. A true minority of cases were active extravasation within the solid visceral organs (liver, spleen, kidney). \n4. Oftentimes, the top-most and bottom-most images had very faint contrast blushes, where I would only really notice them because I knew where the blush was from the middle slices where it was more obvious. I did draw boxes around these. \n\nDisclaimer: I am not yet a board-certified radiologist. I am a US radiology resident at the beginning of my 3rd year of residency. However, I am confident that I correctly identified the finding in >95% of images. ",
      "votes": 47
    },
    {
      "id": 2445761,
      "postDate": "2023-09-19T04:25:10.907Z",
      "content": "<p>examples for multi-phrase cases:</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2Fcbbddc61e6be7dc9d6f2bedb954a04b9%2FSelection_999(3281).png?generation=1695097478955897&amp;alt=media\" alt=\"\"></p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F6170e665e68662f9b59e78184bdba37b%2FSelection_999(3280).png?generation=1695097489847442&amp;alt=media\" alt=\"\"></p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F14bec02a040b487792e7d2dfa066506f%2FSelection_999(3278).png?generation=1695097508925102&amp;alt=media\" alt=\"\"></p>\n<p>note: this is using my slice number automatic alignment code, which may have some errors<br>\n(i.e. the depth of the 2 scans may not be true exact)</p>",
      "rawMarkdown": "examples for multi-phrase cases:\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2Fcbbddc61e6be7dc9d6f2bedb954a04b9%2FSelection_999(3281).png?generation=1695097478955897&alt=media)\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F6170e665e68662f9b59e78184bdba37b%2FSelection_999(3280).png?generation=1695097489847442&alt=media)\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F14bec02a040b487792e7d2dfa066506f%2FSelection_999(3278).png?generation=1695097508925102&alt=media)\n\nnote: this is using my slice number automatic alignment code, which may have some errors\n(i.e. the depth of the 2 scans may not be true exact)",
      "votes": 1,
      "replies": [
        {
          "id": 2446778,
          "postDate": "2023-09-19T15:51:21.890Z",
          "content": "<p>This is interesting, because for the 3rd example, you can definitely still see a small blush in the more delayed phase image, but it does not look like it was annotated. Either this is my mistake or a labeling error/inconsistency where the annotator only annotated the extravasation on the earlier phase. </p>\n<p>Or maybe you only drew the box on the earlier phase?</p>",
          "rawMarkdown": "This is interesting, because for the 3rd example, you can definitely still see a small blush in the more delayed phase image, but it does not look like it was annotated. Either this is my mistake or a labeling error/inconsistency where the annotator only annotated the extravasation on the earlier phase. \n\nOr maybe you only drew the box on the earlier phase?",
          "replies": [
            {
              "id": 2446804,
              "postDate": "2023-09-19T16:14:01.317Z",
              "content": "<p>it is likely to be a mistake at my side. i am training a new alignment model. after that i will regenerate the visualization images with your new updated csv file. will take a day of two to complete. </p>",
              "rawMarkdown": "it is likely to be a mistake at my side. i am training a new alignment model. after that i will regenerate the visualization images with your new updated csv file. will take a day of two to complete. "
            },
            {
              "id": 2451219,
              "postDate": "2023-09-22T11:45:40.270Z",
              "content": "<p>better view in 3d viewer</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F5b8149ed321dadb82642dd34d21f5597%2FSelection_999(3362).png?generation=1695382875860535&amp;alt=media\" alt=\"\"></p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F204d74446322d4b2fbc8f467328e8cff%2FSelection_999(3361).png?generation=1695382896348185&amp;alt=media\" alt=\"\"></p>\n<p>my conclusion:<br>\nactive extravastion = white spot appearing at the \"wrong\" places.</p>\n<p><strong>detecting white spot is easy. what is difficult is predicting if the place is \"correct\" or \"wrong\"\n(i.e. what is the complexity and context of the encoder required)</strong></p>\n<p>may be easier if we have a \"encoder that is pretrained to label/describe the place\"</p>",
              "rawMarkdown": "better view in 3d viewer\n\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F5b8149ed321dadb82642dd34d21f5597%2FSelection_999(3362).png?generation=1695382875860535&alt=media)\n\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F204d74446322d4b2fbc8f467328e8cff%2FSelection_999(3361).png?generation=1695382896348185&alt=media)\n\n\nmy conclusion:\nactive extravastion = white spot appearing at the \"wrong\" places.\n\n**detecting white spot is easy. what is difficult is predicting if the place is \"correct\" or \"wrong\"\n(i.e. what is the complexity and context of the encoder required)**\n\nmay be easier if we have a \"encoder that is pretrained to label/describe the place\"",
              "votes": 2
            }
          ]
        }
      ]
    },
    {
      "id": 2445024,
      "postDate": "2023-09-18T15:24:20.127Z",
      "content": "<p>thanks for the help.<br>\ni think it would be useful.</p>\n<p>do you think you can mark the  bounding box for rest of the injury?<br>\ne.g. maybe just 3 to 5 box example each for liver,spleen,kidney and bowel.</p>\n<p>(i need not all anooations. i just need a few example annotations so that i can check if my class activation maps is really rubbish or not)</p>\n<p>for non medical kagglers like mw, i have problems in identifying what i am detecting.<br>\ni check the class activation maps and i think they look like rubbish.</p>\n<p>i try to self study to detect trauma from youtube videos and reading materials from the internet, but it seems to difficult.</p>",
      "rawMarkdown": "thanks for the help.\ni think it would be useful.\n\ndo you think you can mark the  bounding box for rest of the injury?\ne.g. maybe just 3 to 5 box example each for liver,spleen,kidney and bowel.\n\n(i need not all anooations. i just need a few example annotations so that i can check if my class activation maps is really rubbish or not)\n\nfor non medical kagglers like mw, i have problems in identifying what i am detecting.\ni check the class activation maps and i think they look like rubbish.\n\ni try to self study to detect trauma from youtube videos and reading materials from the internet, but it seems to difficult.",
      "votes": 1,
      "replies": [
        {
          "id": 2446480,
          "postDate": "2023-09-19T13:06:08.403Z",
          "content": "<p>I probably will not have the time to do this for the other injuries, but if you want to post a few examples for me to check, I can do that. </p>\n<p>I applaud you for self-studying but acknowledge that it is difficult to gain even basic proficiency over the short time span of a competition.</p>",
          "rawMarkdown": "I probably will not have the time to do this for the other injuries, but if you want to post a few examples for me to check, I can do that. \n\nI applaud you for self-studying but acknowledge that it is difficult to gain even basic proficiency over the short time span of a competition.",
          "votes": 1
        }
      ]
    },
    {
      "id": 2447035,
      "postDate": "2023-09-19T19:25:29.670Z",
      "content": "<p>a note about labeling:</p>\n<ul>\n<li>i am not radiologist, so i cannot do hand labeling.</li>\n<li>but if you are radiologist and want to do labeling, i suggest one can setup prompt based tools like segment SAM anything ( use the video tracking version).</li>\n<li>when you label a slice, and the model can track it across nearby frame.</li>\n<li><strong>at the same time the model is updating itself (this is human feedback learning)</strong></li>\n<li><strong>then you can used the updated SAM model to do inference for submission !!!</strong></li>\n</ul>\n<p>you can google more papers about this.<br>\nthere are some papers that document how to use SAM model to label ~1000 ct scans within days.</p>\n<hr>\n<p>alternatively, <br>\nnow box prompt is provided here by <a href=\"https://www.kaggle.com/vaillant\" target=\"_blank\">@vaillant</a>, one can use these to update SAM model as well. i think we can see very good results.</p>",
      "rawMarkdown": "a note about labeling:\n- i am not radiologist, so i cannot do hand labeling.\n- but if you are radiologist and want to do labeling, i suggest one can setup prompt based tools like segment SAM anything ( use the video tracking version).\n- when you label a slice, and the model can track it across nearby frame.\n- **at the same time the model is updating itself (this is human feedback learning)**\n- **then you can used the updated SAM model to do inference for submission !!!**\n\nyou can google more papers about this.\nthere are some papers that document how to use SAM model to label ~1000 ct scans within days.\n\n---\nalternatively, \nnow box prompt is provided here by @vaillant, one can use these to update SAM model as well. i think we can see very good results.",
      "votes": 2
    },
    {
      "id": 2446753,
      "postDate": "2023-09-19T15:36:19.393Z",
      "content": "<p>Good information.Keep the good work.</p>",
      "rawMarkdown": "Good information.Keep the good work."
    },
    {
      "id": 2445889,
      "postDate": "2023-09-19T06:18:00.450Z",
      "content": "<p>Thanks <a href=\"https://www.kaggle.com/vaillant\" target=\"_blank\">@vaillant</a> !  Was looking for more guidance in this area, sort of hoped the hosts would have given more info or references and good of you to do this.</p>\n<p>It was suggested that it could be necessary to look at differences in multi series for patients, e.g., the late arterial phase to find areas of active bleeding. This helps to narrow down the series to consider.  And if there are patients with no extravasation injury in one of their series, then this gives another source for negative label, since train only gives at the patient level.  </p>\n<p>Created a notebook to visualise Active Extravasation for example Patient 12192 Series with and without<br>\n<a href=\"https://www.kaggle.com/code/something4kag/rsna-2023-ab-trauma-visual-extravasation\" target=\"_blank\">https://www.kaggle.com/code/something4kag/rsna-2023-ab-trauma-visual-extravasation</a></p>",
      "rawMarkdown": "Thanks @vaillant !  Was looking for more guidance in this area, sort of hoped the hosts would have given more info or references and good of you to do this.\n\nIt was suggested that it could be necessary to look at differences in multi series for patients, e.g., the late arterial phase to find areas of active bleeding. This helps to narrow down the series to consider.  And if there are patients with no extravasation injury in one of their series, then this gives another source for negative label, since train only gives at the patient level.  \n\nCreated a notebook to visualise Active Extravasation for example Patient 12192 Series with and without\nhttps://www.kaggle.com/code/something4kag/rsna-2023-ab-trauma-visual-extravasation\n\n"
    },
    {
      "id": 2445715,
      "postDate": "2023-09-19T03:38:29.200Z",
      "content": "<p>i show some examples of the bounding box provided</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F5dc22688fa8ab6f043e89f20162e6f68%2FSelection_999(3276).png?generation=1695094670525719&amp;alt=media\" alt=\"\"></p>\n<p>obviously(?), we cannot use 256x256 as input</p>",
      "rawMarkdown": "i show some examples of the bounding box provided\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F5dc22688fa8ab6f043e89f20162e6f68%2FSelection_999(3276).png?generation=1695094670525719&alt=media)\n\nobviously(?), we cannot use 256x256 as input",
      "replies": [
        {
          "id": 2445727,
          "postDate": "2023-09-19T03:45:33.193Z",
          "content": "<p>wait for the bottom right, the bounding box covers the whole ROI?</p>",
          "rawMarkdown": "wait for the bottom right, the bounding box covers the whole ROI?",
          "replies": [
            {
              "id": 2445734,
              "postDate": "2023-09-19T03:54:33.063Z",
              "content": "<p>i think it is this:</p>\n<p>\"Each image only has 1 bounding box. Sometimes there were multiple blushes of contrast in which case I just drew a bounding box that contained all them. In a few cases the box ended up being quite large. This was mainly to make labeling easier for myself.\"</p>",
              "rawMarkdown": "i think it is this:\n\n\"Each image only has 1 bounding box. Sometimes there were multiple blushes of contrast in which case I just drew a bounding box that contained all them. In a few cases the box ended up being quite large. This was mainly to make labeling easier for myself.\""
            },
            {
              "id": 2445736,
              "postDate": "2023-09-19T03:56:13.390Z",
              "content": "<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F0d415774636a6a6d76ae929ff6ee2907%2FSelection_999(3277).png?generation=1695095761177115&amp;alt=media\" alt=\"\"></p>\n<p>the raw data from csv file</p>",
              "rawMarkdown": "![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F0d415774636a6a6d76ae929ff6ee2907%2FSelection_999(3277).png?generation=1695095761177115&alt=media)\n\nthe raw data from csv file"
            },
            {
              "id": 2446486,
              "postDate": "2023-09-19T13:07:16.853Z",
              "content": "<p>This should not be the case. It looks like there are about 100 images where the size of the box is much higher than I remember annotating. Let me double check those. </p>",
              "rawMarkdown": "This should not be the case. It looks like there are about 100 images where the size of the box is much higher than I remember annotating. Let me double check those. ",
              "votes": 2
            },
            {
              "id": 2446768,
              "postDate": "2023-09-19T15:47:33.847Z",
              "content": "<p>This has been fixed. A new version of the dataset has been uploaded. Thanks for posting these examples, and apologies for not being more careful initially.</p>",
              "rawMarkdown": "This has been fixed. A new version of the dataset has been uploaded. Thanks for posting these examples, and apologies for not being more careful initially.",
              "votes": 1
            },
            {
              "id": 2454690,
              "postDate": "2023-09-25T03:20:11.877Z",
              "content": "<p>How do you know the location of the disease? </p>",
              "rawMarkdown": "How do you know the location of the disease? "
            }
          ]
        }
      ]
    },
    {
      "id": 2445574,
      "postDate": "2023-09-19T00:44:31.840Z",
      "content": "<p>Great work thank you! Just to make sure, did you rescale the images when labelling?</p>",
      "rawMarkdown": "Great work thank you! Just to make sure, did you rescale the images when labelling?",
      "replies": [
        {
          "id": 2446482,
          "postDate": "2023-09-19T13:06:37.210Z",
          "content": "<p>The bounding box coordinates should be relative to the original size of the image, if that's what you are trying to confirm.</p>",
          "rawMarkdown": "The bounding box coordinates should be relative to the original size of the image, if that's what you are trying to confirm.",
          "votes": 1
        }
      ]
    },
    {
      "id": 2445251,
      "postDate": "2023-09-18T17:21:35.457Z",
      "content": "<p>Wow great work. I was actually going to ask a radiologist friend to do the same. Thanks! Out of interest, which tool did you use for the bounding box labelling?</p>",
      "rawMarkdown": "Wow great work. I was actually going to ask a radiologist friend to do the same. Thanks! Out of interest, which tool did you use for the bounding box labelling?",
      "replies": [
        {
          "id": 2446775,
          "postDate": "2023-09-19T15:49:34.617Z",
          "content": "<p>I actually just opened up images on my Mac in Preview and cropped out the area of extravasation. Then I used a script that can identify the coordinates of the crop relative to the original image. I've used this method frequently for other simple bounding box annotations because it's free and pretty fast.</p>\n<p>The downside, of course, is that this is extremely limited, but was good enough for &gt;90% of images here.</p>",
          "rawMarkdown": "I actually just opened up images on my Mac in Preview and cropped out the area of extravasation. Then I used a script that can identify the coordinates of the crop relative to the original image. I've used this method frequently for other simple bounding box annotations because it's free and pretty fast.\n\nThe downside, of course, is that this is extremely limited, but was good enough for >90% of images here.",
          "votes": 1
        }
      ]
    },
    {
      "id": 2456466,
      "postDate": "2023-09-26T08:11:52.400Z",
      "content": "<p>Hi, I'm a radiologist too, Pytorch user.<br>\nI'm wondering:</p>\n<p>-Do we have enough time to use the detection model for extravasation on the entire scan and make classification predictions on organs with another model?<br>\n-Shouldn't we train the extravasation model only on the late-phase scans? Because extravasations are better visualized on the late phases with more pixels involved.</p>",
      "rawMarkdown": "Hi, I'm a radiologist too, Pytorch user.\nI'm wondering:\n\n-Do we have enough time to use the detection model for extravasation on the entire scan and make classification predictions on organs with another model?\n-Shouldn't we train the extravasation model only on the late-phase scans? Because extravasations are better visualized on the late phases with more pixels involved.",
      "votes": 1,
      "isDeleted": true,
      "replies": [
        {
          "id": 2457297,
          "postDate": "2023-09-26T19:11:33.827Z",
          "content": "<p>For your first point, it will depend on your implementation and model but yes it's possible - I have notebooks that can run both segmentation on the entire image test set and as well as run another 2.5D or 3D model (about 6 hours for submission). For your second point you will presumably want to run your extravasation on the entire test data set (not only late-phase scans) so it's good to train on all images since they will better represent the test set distribution. Using weightings and balanced train/validation splits to reflect the usefulness of late-phase scans could be a good idea though</p>",
          "rawMarkdown": "For your first point, it will depend on your implementation and model but yes it's possible - I have notebooks that can run both segmentation on the entire image test set and as well as run another 2.5D or 3D model (about 6 hours for submission). For your second point you will presumably want to run your extravasation on the entire test data set (not only late-phase scans) so it's good to train on all images since they will better represent the test set distribution. Using weightings and balanced train/validation splits to reflect the usefulness of late-phase scans could be a good idea though"
        }
      ]
    },
    {
      "id": 2452789,
      "postDate": "2023-09-23T15:26:39.397Z",
      "rawMarkdown": "",
      "isDeleted": true
    },
    {
      "id": 2445219,
      "postDate": "2023-09-18T16:56:55.877Z",
      "content": "<p>Thank you very much!</p>",
      "rawMarkdown": "Thank you very much!"
    }
  ],
  "comments": [
    {
      "id": 2445761,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "2023-09-19T04:25:10.907000",
      "content": "<p>examples for multi-phrase cases:</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2Fcbbddc61e6be7dc9d6f2bedb954a04b9%2FSelection_999(3281).png?generation=1695097478955897&amp;alt=media\" alt=\"\"></p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F6170e665e68662f9b59e78184bdba37b%2FSelection_999(3280).png?generation=1695097489847442&amp;alt=media\" alt=\"\"></p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F14bec02a040b487792e7d2dfa066506f%2FSelection_999(3278).png?generation=1695097508925102&amp;alt=media\" alt=\"\"></p>\n<p>note: this is using my slice number automatic alignment code, which may have some errors<br>\n(i.e. the depth of the 2 scans may not be true exact)</p>",
      "votes": 1,
      "replies": [
        {
          "id": 2446778,
          "author_name": "Ian Pan",
          "author_url": "",
          "post_date": "2023-09-19T15:51:21.890000",
          "content": "<p>This is interesting, because for the 3rd example, you can definitely still see a small blush in the more delayed phase image, but it does not look like it was annotated. Either this is my mistake or a labeling error/inconsistency where the annotator only annotated the extravasation on the earlier phase. </p>\n<p>Or maybe you only drew the box on the earlier phase?</p>",
          "votes": 0,
          "replies": [
            {
              "id": 2446804,
              "author_name": "hengck23",
              "author_url": "",
              "post_date": "2023-09-19T16:14:01.317000",
              "content": "<p>it is likely to be a mistake at my side. i am training a new alignment model. after that i will regenerate the visualization images with your new updated csv file. will take a day of two to complete. </p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 2451219,
              "author_name": "hengck23",
              "author_url": "",
              "post_date": "2023-09-22T11:45:40.270000",
              "content": "<p>better view in 3d viewer</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F5b8149ed321dadb82642dd34d21f5597%2FSelection_999(3362).png?generation=1695382875860535&amp;alt=media\" alt=\"\"></p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F204d74446322d4b2fbc8f467328e8cff%2FSelection_999(3361).png?generation=1695382896348185&amp;alt=media\" alt=\"\"></p>\n<p>my conclusion:<br>\nactive extravastion = white spot appearing at the \"wrong\" places.</p>\n<p><strong>detecting white spot is easy. what is difficult is predicting if the place is \"correct\" or \"wrong\"\n(i.e. what is the complexity and context of the encoder required)</strong></p>\n<p>may be easier if we have a \"encoder that is pretrained to label/describe the place\"</p>",
              "votes": 2,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 2445024,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "2023-09-18T15:24:20.127000",
      "content": "<p>thanks for the help.<br>\ni think it would be useful.</p>\n<p>do you think you can mark the  bounding box for rest of the injury?<br>\ne.g. maybe just 3 to 5 box example each for liver,spleen,kidney and bowel.</p>\n<p>(i need not all anooations. i just need a few example annotations so that i can check if my class activation maps is really rubbish or not)</p>\n<p>for non medical kagglers like mw, i have problems in identifying what i am detecting.<br>\ni check the class activation maps and i think they look like rubbish.</p>\n<p>i try to self study to detect trauma from youtube videos and reading materials from the internet, but it seems to difficult.</p>",
      "votes": 1,
      "replies": [
        {
          "id": 2446480,
          "author_name": "Ian Pan",
          "author_url": "",
          "post_date": "2023-09-19T13:06:08.403000",
          "content": "<p>I probably will not have the time to do this for the other injuries, but if you want to post a few examples for me to check, I can do that. </p>\n<p>I applaud you for self-studying but acknowledge that it is difficult to gain even basic proficiency over the short time span of a competition.</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 2447035,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "2023-09-19T19:25:29.670000",
      "content": "<p>a note about labeling:</p>\n<ul>\n<li>i am not radiologist, so i cannot do hand labeling.</li>\n<li>but if you are radiologist and want to do labeling, i suggest one can setup prompt based tools like segment SAM anything ( use the video tracking version).</li>\n<li>when you label a slice, and the model can track it across nearby frame.</li>\n<li><strong>at the same time the model is updating itself (this is human feedback learning)</strong></li>\n<li><strong>then you can used the updated SAM model to do inference for submission !!!</strong></li>\n</ul>\n<p>you can google more papers about this.<br>\nthere are some papers that document how to use SAM model to label ~1000 ct scans within days.</p>\n<hr>\n<p>alternatively, <br>\nnow box prompt is provided here by <a href=\"https://www.kaggle.com/vaillant\" target=\"_blank\">@vaillant</a>, one can use these to update SAM model as well. i think we can see very good results.</p>",
      "votes": 2,
      "replies": []
    },
    {
      "id": 2446753,
      "author_name": "Al Sani",
      "author_url": "",
      "post_date": "2023-09-19T15:36:19.393000",
      "content": "<p>Good information.Keep the good work.</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 2445889,
      "author_name": "something4kag",
      "author_url": "",
      "post_date": "2023-09-19T06:18:00.450000",
      "content": "<p>Thanks <a href=\"https://www.kaggle.com/vaillant\" target=\"_blank\">@vaillant</a> !  Was looking for more guidance in this area, sort of hoped the hosts would have given more info or references and good of you to do this.</p>\n<p>It was suggested that it could be necessary to look at differences in multi series for patients, e.g., the late arterial phase to find areas of active bleeding. This helps to narrow down the series to consider.  And if there are patients with no extravasation injury in one of their series, then this gives another source for negative label, since train only gives at the patient level.  </p>\n<p>Created a notebook to visualise Active Extravasation for example Patient 12192 Series with and without<br>\n<a href=\"https://www.kaggle.com/code/something4kag/rsna-2023-ab-trauma-visual-extravasation\" target=\"_blank\">https://www.kaggle.com/code/something4kag/rsna-2023-ab-trauma-visual-extravasation</a></p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 2445715,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "2023-09-19T03:38:29.200000",
      "content": "<p>i show some examples of the bounding box provided</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F5dc22688fa8ab6f043e89f20162e6f68%2FSelection_999(3276).png?generation=1695094670525719&amp;alt=media\" alt=\"\"></p>\n<p>obviously(?), we cannot use 256x256 as input</p>",
      "votes": 0,
      "replies": [
        {
          "id": 2445727,
          "author_name": "Feng Qilong",
          "author_url": "",
          "post_date": "2023-09-19T03:45:33.193000",
          "content": "<p>wait for the bottom right, the bounding box covers the whole ROI?</p>",
          "votes": 0,
          "replies": [
            {
              "id": 2445734,
              "author_name": "hengck23",
              "author_url": "",
              "post_date": "2023-09-19T03:54:33.063000",
              "content": "<p>i think it is this:</p>\n<p>\"Each image only has 1 bounding box. Sometimes there were multiple blushes of contrast in which case I just drew a bounding box that contained all them. In a few cases the box ended up being quite large. This was mainly to make labeling easier for myself.\"</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 2445736,
              "author_name": "hengck23",
              "author_url": "",
              "post_date": "2023-09-19T03:56:13.390000",
              "content": "<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F0d415774636a6a6d76ae929ff6ee2907%2FSelection_999(3277).png?generation=1695095761177115&amp;alt=media\" alt=\"\"></p>\n<p>the raw data from csv file</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 2446486,
              "author_name": "Ian Pan",
              "author_url": "",
              "post_date": "2023-09-19T13:07:16.853000",
              "content": "<p>This should not be the case. It looks like there are about 100 images where the size of the box is much higher than I remember annotating. Let me double check those. </p>",
              "votes": 2,
              "replies": []
            },
            {
              "id": 2446768,
              "author_name": "Ian Pan",
              "author_url": "",
              "post_date": "2023-09-19T15:47:33.847000",
              "content": "<p>This has been fixed. A new version of the dataset has been uploaded. Thanks for posting these examples, and apologies for not being more careful initially.</p>",
              "votes": 1,
              "replies": []
            },
            {
              "id": 2454690,
              "author_name": "CarlosRoberto",
              "author_url": "",
              "post_date": "2023-09-25T03:20:11.877000",
              "content": "<p>How do you know the location of the disease? </p>",
              "votes": 0,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 2445574,
      "author_name": "Feng Qilong",
      "author_url": "",
      "post_date": "2023-09-19T00:44:31.840000",
      "content": "<p>Great work thank you! Just to make sure, did you rescale the images when labelling?</p>",
      "votes": 0,
      "replies": [
        {
          "id": 2446482,
          "author_name": "Ian Pan",
          "author_url": "",
          "post_date": "2023-09-19T13:06:37.210000",
          "content": "<p>The bounding box coordinates should be relative to the original size of the image, if that's what you are trying to confirm.</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 2445251,
      "author_name": "Mark",
      "author_url": "",
      "post_date": "2023-09-18T17:21:35.457000",
      "content": "<p>Wow great work. I was actually going to ask a radiologist friend to do the same. Thanks! Out of interest, which tool did you use for the bounding box labelling?</p>",
      "votes": 0,
      "replies": [
        {
          "id": 2446775,
          "author_name": "Ian Pan",
          "author_url": "",
          "post_date": "2023-09-19T15:49:34.617000",
          "content": "<p>I actually just opened up images on my Mac in Preview and cropped out the area of extravasation. Then I used a script that can identify the coordinates of the crop relative to the original image. I've used this method frequently for other simple bounding box annotations because it's free and pretty fast.</p>\n<p>The downside, of course, is that this is extremely limited, but was good enough for &gt;90% of images here.</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 2456466,
      "author_name": "",
      "author_url": "",
      "post_date": "2023-09-26T08:11:52.400000",
      "content": "<p>Hi, I'm a radiologist too, Pytorch user.<br>\nI'm wondering:</p>\n<p>-Do we have enough time to use the detection model for extravasation on the entire scan and make classification predictions on organs with another model?<br>\n-Shouldn't we train the extravasation model only on the late-phase scans? Because extravasations are better visualized on the late phases with more pixels involved.</p>",
      "votes": 1,
      "replies": [
        {
          "id": 2457297,
          "author_name": "Mark",
          "author_url": "",
          "post_date": "2023-09-26T19:11:33.827000",
          "content": "<p>For your first point, it will depend on your implementation and model but yes it's possible - I have notebooks that can run both segmentation on the entire image test set and as well as run another 2.5D or 3D model (about 6 hours for submission). For your second point you will presumably want to run your extravasation on the entire test data set (not only late-phase scans) so it's good to train on all images since they will better represent the test set distribution. Using weightings and balanced train/validation splits to reflect the usefulness of late-phase scans could be a good idea though</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 2452789,
      "author_name": "",
      "author_url": "",
      "post_date": "2023-09-23T15:26:39.397000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 2445219,
      "author_name": "Harshit Sheoran",
      "author_url": "",
      "post_date": "2023-09-18T16:56:55.877000",
      "content": "<p>Thank you very much!</p>",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "2444968": "**Update 9/19/2023:** This has been fixed, and a new version has been uploaded.\n\n**Update 9/19/2023:** It looks like there are about 100 images where the bounding box is much larger than I remember annotating. After checking, it seems that the annotations for these images did not save. Please exclude any annotation where the width (x2 - x1) is greater than 400 while I fix these.\n\nActive extravasation is important to detect clinically, since active bleeding can cause a patient to quickly decompensate. Consequently, the weight of active extravasation for this challenge is the highest of all the classes.\n\nIn many cases, active extravasation manifests as only a small blush of contrast on a few images, which can make it hard to detect - a true needle in the haystack. \n\nTo help improve detection of active extravasation, I went through all of the images with this label and drew a bounding box around the area. This data is available here: https://www.kaggle.com/datasets/vaillant/rsna-abdominal-trauma-extravasation-bounding-boxes\n\nThere are still over 3 weeks to go in this competition, so I hope this will be useful to competitors and allow for the creation of better models for this task.\n\nA few things to note:\n1. Each image only has 1 bounding box. Sometimes there were multiple blushes of contrast in which case I just drew a bounding box that contained all them. In a few cases the box ended up being quite large. This was mainly to make labeling easier for myself. \n2. There were some images where I could just not see the blush, so I did not draw a box. This is why the number of bounding box annotations is slightly less than the number of images with the active extravasation label. There were no cases where I could not identify active extravasation on any images, which is good.\n3. In many cases, the areas of active extravasation were in the soft tissues (i.e., external to the abdominal cavity) or in the pelvis. A true minority of cases were active extravasation within the solid visceral organs (liver, spleen, kidney). \n4. Oftentimes, the top-most and bottom-most images had very faint contrast blushes, where I would only really notice them because I knew where the blush was from the middle slices where it was more obvious. I did draw boxes around these. \n\nDisclaimer: I am not yet a board-certified radiologist. I am a US radiology resident at the beginning of my 3rd year of residency. However, I am confident that I correctly identified the finding in >95% of images. ",
    "2445761": "examples for multi-phrase cases:\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2Fcbbddc61e6be7dc9d6f2bedb954a04b9%2FSelection_999(3281).png?generation=1695097478955897&alt=media)\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F6170e665e68662f9b59e78184bdba37b%2FSelection_999(3280).png?generation=1695097489847442&alt=media)\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F14bec02a040b487792e7d2dfa066506f%2FSelection_999(3278).png?generation=1695097508925102&alt=media)\n\nnote: this is using my slice number automatic alignment code, which may have some errors\n(i.e. the depth of the 2 scans may not be true exact)",
    "2445024": "thanks for the help.\ni think it would be useful.\n\ndo you think you can mark the  bounding box for rest of the injury?\ne.g. maybe just 3 to 5 box example each for liver,spleen,kidney and bowel.\n\n(i need not all anooations. i just need a few example annotations so that i can check if my class activation maps is really rubbish or not)\n\nfor non medical kagglers like mw, i have problems in identifying what i am detecting.\ni check the class activation maps and i think they look like rubbish.\n\ni try to self study to detect trauma from youtube videos and reading materials from the internet, but it seems to difficult.",
    "2447035": "a note about labeling:\n- i am not radiologist, so i cannot do hand labeling.\n- but if you are radiologist and want to do labeling, i suggest one can setup prompt based tools like segment SAM anything ( use the video tracking version).\n- when you label a slice, and the model can track it across nearby frame.\n- **at the same time the model is updating itself (this is human feedback learning)**\n- **then you can used the updated SAM model to do inference for submission !!!**\n\nyou can google more papers about this.\nthere are some papers that document how to use SAM model to label ~1000 ct scans within days.\n\n---\nalternatively, \nnow box prompt is provided here by @vaillant, one can use these to update SAM model as well. i think we can see very good results.",
    "2446753": "Good information.Keep the good work.",
    "2445889": "Thanks @vaillant !  Was looking for more guidance in this area, sort of hoped the hosts would have given more info or references and good of you to do this.\n\nIt was suggested that it could be necessary to look at differences in multi series for patients, e.g., the late arterial phase to find areas of active bleeding. This helps to narrow down the series to consider.  And if there are patients with no extravasation injury in one of their series, then this gives another source for negative label, since train only gives at the patient level.  \n\nCreated a notebook to visualise Active Extravasation for example Patient 12192 Series with and without\nhttps://www.kaggle.com/code/something4kag/rsna-2023-ab-trauma-visual-extravasation\n\n",
    "2445715": "i show some examples of the bounding box provided\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F5dc22688fa8ab6f043e89f20162e6f68%2FSelection_999(3276).png?generation=1695094670525719&alt=media)\n\nobviously(?), we cannot use 256x256 as input",
    "2445574": "Great work thank you! Just to make sure, did you rescale the images when labelling?",
    "2445251": "Wow great work. I was actually going to ask a radiologist friend to do the same. Thanks! Out of interest, which tool did you use for the bounding box labelling?",
    "2456466": "Hi, I'm a radiologist too, Pytorch user.\nI'm wondering:\n\n-Do we have enough time to use the detection model for extravasation on the entire scan and make classification predictions on organs with another model?\n-Shouldn't we train the extravasation model only on the late-phase scans? Because extravasations are better visualized on the late phases with more pixels involved.",
    "2452789": "",
    "2445219": "Thank you very much!"
  }
}