{
  "id": 246414,
  "title": "Image enhancement techniques on X-ray images",
  "url": "/competitions/siim-covid19-detection/discussion/246414",
  "author_name": "",
  "post_date": "2021-06-15T08:43:19.668069200Z",
  "votes": 5,
  "comment_count": 6,
  "views": 0,
  "content": "<p>Hello, </p>\n<p>When I visualize the data, I think it's really hard to see the different opacities. And I was thinking that maybe by applying image enhancement techniques, we could have a better visualization of the image and the opacity.</p>\n<p>I don't know if some of you try those techniques ? If you have any drawbacks of using it ?<br>\nAlso, do you have any recommendations for documentation/paper related to this? I think it could be really interesting. </p>\n<p>Also, I found a <a href=\"https://github.com/asalmada/x-ray-images-enhancement\" target=\"_blank\">project on github called X-Ray Images Enhancement</a>. Don't know if some of you use it or not ?</p>\n<p>Thanks in advance for your help :)</p>\n<p>Best regards</p>",
  "messages": [
    {
      "id": "1350069",
      "postDate": "06/15/2021 08:43:19",
      "content": "<p>Hello, </p>\n<p>When I visualize the data, I think it's really hard to see the different opacities. And I was thinking that maybe by applying image enhancement techniques, we could have a better visualization of the image and the opacity.</p>\n<p>I don't know if some of you try those techniques ? If you have any drawbacks of using it ?<br>\nAlso, do you have any recommendations for documentation/paper related to this? I think it could be really interesting. </p>\n<p>Also, I found a <a href=\"https://github.com/asalmada/x-ray-images-enhancement\" target=\"_blank\">project on github called X-Ray Images Enhancement</a>. Don't know if some of you use it or not ?</p>\n<p>Thanks in advance for your help :)</p>\n<p>Best regards</p>",
      "rawMarkdown": "Hello, \n\nWhen I visualize the data, I think it's really hard to see the different opacities. And I was thinking that maybe by applying image enhancement techniques, we could have a better visualization of the image and the opacity.\n\nI don't know if some of you try those techniques ? If you have any drawbacks of using it ?\nAlso, do you have any recommendations for documentation/paper related to this? I think it could be really interesting. \n\nAlso, I found a [project on github called X-Ray Images Enhancement](https://github.com/asalmada/x-ray-images-enhancement). Don't know if some of you use it or not ?\n\nThanks in advance for your help :)\n\nBest regards",
      "votes": null
    },
    {
      "id": "1350371",
      "postDate": "06/15/2021 12:20:11",
      "content": "<p>I wrote a couple notebooks on enhancing DICOM images.</p>\n<p>This one shows how to apply a manual VOI LUT to \"window and level\" the images.</p>\n<p><a href=\"https://www.kaggle.com/davidbroberts/manual-dicom-voi-lut\" target=\"_blank\">https://www.kaggle.com/davidbroberts/manual-dicom-voi-lut</a></p>\n<p>This one is a proof of concept for rib suppression.</p>\n<p><a href=\"https://www.kaggle.com/davidbroberts/rib-suppression-poc\" target=\"_blank\">https://www.kaggle.com/davidbroberts/rib-suppression-poc</a></p>",
      "rawMarkdown": "I wrote a couple notebooks on enhancing DICOM images.\n\nThis one shows how to apply a manual VOI LUT to \"window and level\" the images.\n\nhttps://www.kaggle.com/davidbroberts/manual-dicom-voi-lut\n\nThis one is a proof of concept for rib suppression.\n\nhttps://www.kaggle.com/davidbroberts/rib-suppression-poc",
      "votes": null
    },
    {
      "id": "1350577",
      "postDate": "06/15/2021 15:08:34",
      "content": "<p>Really interesting ! </p>\n<p>The idea of rib suppression is brilliant. Maybe not to remove them, but to darken them could be relevant. It will keep eventual marks of opacity next to them and allow them to be more visible. I will try to see if it's something that could be automatize. Because in the first view, create specific masks for each use case seems complicated ^^ </p>\n<p>Concerning the \"window and level\" technique, I saw in your notebook and it seems we could really see the skeleton of the person. Could we use that as a mask to darken the part that we are not interested in ? I don't know if this is something that people do ? But I was thinking that maybe it will not be relevant if the opacity is in the inferior lobe. It could be taken with the mask and we will lose information.</p>\n<p>Thank you very much :)</p>",
      "rawMarkdown": "Really interesting ! \n\nThe idea of rib suppression is brilliant. Maybe not to remove them, but to darken them could be relevant. It will keep eventual marks of opacity next to them and allow them to be more visible. I will try to see if it's something that could be automatize. Because in the first view, create specific masks for each use case seems complicated ^^ \n\nConcerning the \"window and level\" technique, I saw in your notebook and it seems we could really see the skeleton of the person. Could we use that as a mask to darken the part that we are not interested in ? I don't know if this is something that people do ? But I was thinking that maybe it will not be relevant if the opacity is in the inferior lobe. It could be taken with the mask and we will lose information.\n\nThank you very much :)",
      "votes": null
    },
    {
      "id": "1350597",
      "postDate": "06/15/2021 15:24:39",
      "content": "<p>I didn't invent the idea of rib suppression. It's been around for many years. It's similar to the way digital subtraction works in Angiography. The idea is to uniformly reduce the intensity of the pixels only under the ribs .. since an x-ray is a 'sum' of shadows of all the matter between the source (x-ray beam) and the detector (film or CR/DR plate) .. you can subtract the rib density and essentially remove it from the image. </p>\n<p>The difficulty lies in creating a mask that accurately represents the rib shadows. And, since the edges of the ribs are slightly more dense than the center (due to the x-ray passing through more of the denser periosteum around the edges) .. it's needs some sort of gradient applied to completely remove the faint residual lines around the periphery of each rib.</p>\n<p>The concept of windowing/leveling an image is standard practice to make it easier to visualize tissues of different densities by changing the relative contrast between them.</p>",
      "rawMarkdown": "I didn't invent the idea of rib suppression. It's been around for many years. It's similar to the way digital subtraction works in Angiography. The idea is to uniformly reduce the intensity of the pixels only under the ribs .. since an x-ray is a 'sum' of shadows of all the matter between the source (x-ray beam) and the detector (film or CR/DR plate) .. you can subtract the rib density and essentially remove it from the image. \n\nThe difficulty lies in creating a mask that accurately represents the rib shadows. And, since the edges of the ribs are slightly more dense than the center (due to the x-ray passing through more of the denser periosteum around the edges) .. it's needs some sort of gradient applied to completely remove the faint residual lines around the periphery of each rib.\n\nThe concept of windowing/leveling an image is standard practice to make it easier to visualize tissues of different densities by changing the relative contrast between them.",
      "votes": null
    },
    {
      "id": "1350619",
      "postDate": "06/15/2021 15:52:02",
      "content": "<p>Here's another notebook I made that demonstrates bit-plane slicing. I think it could be beneficial in making rib masks.</p>\n<p><a href=\"https://www.kaggle.com/davidbroberts/visualizing-chest-x-ray-bitplanes\" target=\"_blank\">https://www.kaggle.com/davidbroberts/visualizing-chest-x-ray-bitplanes</a></p>",
      "rawMarkdown": "Here's another notebook I made that demonstrates bit-plane slicing. I think it could be beneficial in making rib masks.\n\nhttps://www.kaggle.com/davidbroberts/visualizing-chest-x-ray-bitplanes",
      "votes": null
    },
    {
      "id": "1351695",
      "postDate": "06/16/2021 14:27:52",
      "content": "<p>Thank you, very nice ideas that I will surely study further</p>",
      "rawMarkdown": "Thank you, very nice ideas that I will surely study further",
      "votes": null
    },
    {
      "id": "1358612",
      "postDate": "06/20/2021 16:15:39",
      "content": "<p>I made another notebook for cropping Chest X-rays that you might find useful for pre-processing.</p>\n<p><a href=\"https://www.kaggle.com/davidbroberts/cropping-chest-x-rays\" target=\"_blank\">https://www.kaggle.com/davidbroberts/cropping-chest-x-rays</a></p>",
      "rawMarkdown": "I made another notebook for cropping Chest X-rays that you might find useful for pre-processing.\n\nhttps://www.kaggle.com/davidbroberts/cropping-chest-x-rays",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1350371,
      "author_name": "davidbroberts",
      "author_url": "",
      "post_date": "06/15/2021 12:20:11",
      "content": "<p>I wrote a couple notebooks on enhancing DICOM images.</p>\n<p>This one shows how to apply a manual VOI LUT to \"window and level\" the images.</p>\n<p><a href=\"https://www.kaggle.com/davidbroberts/manual-dicom-voi-lut\" target=\"_blank\">https://www.kaggle.com/davidbroberts/manual-dicom-voi-lut</a></p>\n<p>This one is a proof of concept for rib suppression.</p>\n<p><a href=\"https://www.kaggle.com/davidbroberts/rib-suppression-poc\" target=\"_blank\">https://www.kaggle.com/davidbroberts/rib-suppression-poc</a></p>",
      "votes": null,
      "replies": [
        {
          "id": 1350577,
          "author_name": "rerere",
          "author_url": "",
          "post_date": "06/15/2021 15:08:34",
          "content": "<p>Really interesting ! </p>\n<p>The idea of rib suppression is brilliant. Maybe not to remove them, but to darken them could be relevant. It will keep eventual marks of opacity next to them and allow them to be more visible. I will try to see if it's something that could be automatize. Because in the first view, create specific masks for each use case seems complicated ^^ </p>\n<p>Concerning the \"window and level\" technique, I saw in your notebook and it seems we could really see the skeleton of the person. Could we use that as a mask to darken the part that we are not interested in ? I don't know if this is something that people do ? But I was thinking that maybe it will not be relevant if the opacity is in the inferior lobe. It could be taken with the mask and we will lose information.</p>\n<p>Thank you very much :)</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1350597,
          "author_name": "davidbroberts",
          "author_url": "",
          "post_date": "06/15/2021 15:24:39",
          "content": "<p>I didn't invent the idea of rib suppression. It's been around for many years. It's similar to the way digital subtraction works in Angiography. The idea is to uniformly reduce the intensity of the pixels only under the ribs .. since an x-ray is a 'sum' of shadows of all the matter between the source (x-ray beam) and the detector (film or CR/DR plate) .. you can subtract the rib density and essentially remove it from the image. </p>\n<p>The difficulty lies in creating a mask that accurately represents the rib shadows. And, since the edges of the ribs are slightly more dense than the center (due to the x-ray passing through more of the denser periosteum around the edges) .. it's needs some sort of gradient applied to completely remove the faint residual lines around the periphery of each rib.</p>\n<p>The concept of windowing/leveling an image is standard practice to make it easier to visualize tissues of different densities by changing the relative contrast between them.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1350619,
          "author_name": "davidbroberts",
          "author_url": "",
          "post_date": "06/15/2021 15:52:02",
          "content": "<p>Here's another notebook I made that demonstrates bit-plane slicing. I think it could be beneficial in making rib masks.</p>\n<p><a href=\"https://www.kaggle.com/davidbroberts/visualizing-chest-x-ray-bitplanes\" target=\"_blank\">https://www.kaggle.com/davidbroberts/visualizing-chest-x-ray-bitplanes</a></p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1351695,
      "author_name": "omeram",
      "author_url": "",
      "post_date": "06/16/2021 14:27:52",
      "content": "<p>Thank you, very nice ideas that I will surely study further</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1358612,
      "author_name": "davidbroberts",
      "author_url": "",
      "post_date": "06/20/2021 16:15:39",
      "content": "<p>I made another notebook for cropping Chest X-rays that you might find useful for pre-processing.</p>\n<p><a href=\"https://www.kaggle.com/davidbroberts/cropping-chest-x-rays\" target=\"_blank\">https://www.kaggle.com/davidbroberts/cropping-chest-x-rays</a></p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1350069": "Hello, \n\nWhen I visualize the data, I think it's really hard to see the different opacities. And I was thinking that maybe by applying image enhancement techniques, we could have a better visualization of the image and the opacity.\n\nI don't know if some of you try those techniques ? If you have any drawbacks of using it ?\nAlso, do you have any recommendations for documentation/paper related to this? I think it could be really interesting. \n\nAlso, I found a [project on github called X-Ray Images Enhancement](https://github.com/asalmada/x-ray-images-enhancement). Don't know if some of you use it or not ?\n\nThanks in advance for your help :)\n\nBest regards",
    "1350371": "I wrote a couple notebooks on enhancing DICOM images.\n\nThis one shows how to apply a manual VOI LUT to \"window and level\" the images.\n\nhttps://www.kaggle.com/davidbroberts/manual-dicom-voi-lut\n\nThis one is a proof of concept for rib suppression.\n\nhttps://www.kaggle.com/davidbroberts/rib-suppression-poc",
    "1350577": "Really interesting ! \n\nThe idea of rib suppression is brilliant. Maybe not to remove them, but to darken them could be relevant. It will keep eventual marks of opacity next to them and allow them to be more visible. I will try to see if it's something that could be automatize. Because in the first view, create specific masks for each use case seems complicated ^^ \n\nConcerning the \"window and level\" technique, I saw in your notebook and it seems we could really see the skeleton of the person. Could we use that as a mask to darken the part that we are not interested in ? I don't know if this is something that people do ? But I was thinking that maybe it will not be relevant if the opacity is in the inferior lobe. It could be taken with the mask and we will lose information.\n\nThank you very much :)",
    "1350597": "I didn't invent the idea of rib suppression. It's been around for many years. It's similar to the way digital subtraction works in Angiography. The idea is to uniformly reduce the intensity of the pixels only under the ribs .. since an x-ray is a 'sum' of shadows of all the matter between the source (x-ray beam) and the detector (film or CR/DR plate) .. you can subtract the rib density and essentially remove it from the image. \n\nThe difficulty lies in creating a mask that accurately represents the rib shadows. And, since the edges of the ribs are slightly more dense than the center (due to the x-ray passing through more of the denser periosteum around the edges) .. it's needs some sort of gradient applied to completely remove the faint residual lines around the periphery of each rib.\n\nThe concept of windowing/leveling an image is standard practice to make it easier to visualize tissues of different densities by changing the relative contrast between them.",
    "1350619": "Here's another notebook I made that demonstrates bit-plane slicing. I think it could be beneficial in making rib masks.\n\nhttps://www.kaggle.com/davidbroberts/visualizing-chest-x-ray-bitplanes",
    "1351695": "Thank you, very nice ideas that I will surely study further",
    "1358612": "I made another notebook for cropping Chest X-rays that you might find useful for pre-processing.\n\nhttps://www.kaggle.com/davidbroberts/cropping-chest-x-rays"
  },
  "source": "meta"
}