{
  "id": 203367,
  "title": "Welcome to our RANZCR CliP Catheter and Line Position Challenge",
  "url": "/competitions/ranzcr-clip-catheter-line-classification/discussion/203367",
  "author_name": "Meng Law",
  "post_date": "2020-12-15T00:11:54.933000",
  "votes": 34,
  "comment_count": 46,
  "views": 0,
  "content": "<p>Welcome to our RANZCR CliP Catheter and Line Position Challenge.</p>\n<p>The placement of tubes and lines has always been important in critically ill patients. This past year it has become even more critical with our ICU and hospital beds around the world being filled to capacity. Respirators (via endotracheal tubes), central lines and nasogastric tubes are being inserted to keep patients alive. You could help save many lives around the world by developing and sharing your classification of the position of these lines and tubes on a chest x-ray.<br>\nWe hope you will enjoy participating in this challenge over the Christmas and Holiday period and look forward to providing assistance and interacting with you over the next 3 months</p>\n<p>Kaggle RANZCR CliP Challenge Team</p>",
  "messages": [
    {
      "id": 1112852,
      "postDate": "2020-12-15T00:11:54.933Z",
      "content": "<p>Welcome to our RANZCR CliP Catheter and Line Position Challenge.</p>\n<p>The placement of tubes and lines has always been important in critically ill patients. This past year it has become even more critical with our ICU and hospital beds around the world being filled to capacity. Respirators (via endotracheal tubes), central lines and nasogastric tubes are being inserted to keep patients alive. You could help save many lives around the world by developing and sharing your classification of the position of these lines and tubes on a chest x-ray.<br>\nWe hope you will enjoy participating in this challenge over the Christmas and Holiday period and look forward to providing assistance and interacting with you over the next 3 months</p>\n<p>Kaggle RANZCR CliP Challenge Team</p>",
      "rawMarkdown": "Welcome to our RANZCR CliP Catheter and Line Position Challenge.\n\nThe placement of tubes and lines has always been important in critically ill patients. This past year it has become even more critical with our ICU and hospital beds around the world being filled to capacity. Respirators (via endotracheal tubes), central lines and nasogastric tubes are being inserted to keep patients alive. You could help save many lives around the world by developing and sharing your classification of the position of these lines and tubes on a chest x-ray.\nWe hope you will enjoy participating in this challenge over the Christmas and Holiday period and look forward to providing assistance and interacting with you over the next 3 months\n \nKaggle RANZCR CliP Challenge Team\n ",
      "votes": 33
    },
    {
      "id": 1138150,
      "postDate": "2021-01-04T12:44:00.247Z",
      "content": "<p>Hello, </p>\n<p>I would love to hear more about annotation process - I noticed big inconsistency when it comes to CVC and Swan-Ganz catheters.</p>\n<p>It seems, that for cases where coordinate annotations are available (train_annotations.csv), <code>Swan-Ganz</code> catheter is not labelled as <code>CVC -Normal</code> - which makes sense.</p>\n<p>However, for cases where such annotations are unavailable, Swan-Ganz catheter is also labelled as <code>CVC -Normal</code>. I confirmed this at looking Swan-Ganz cases, and they were also labelled as <code>CVC - Normal</code>, although no CVC was visible. I suspect radiologists made errors treating Swan-Ganz as CVC, and these errors were corrected through coordinate annotation process?</p>\n<p>This has significant impact to <code>CVC - Normal</code> AUC scoring, and brings uncertainty what is true and what is not. </p>\n<p>Therefore, I would like to ask <a href=\"https://www.kaggle.com/menglaw\" target=\"_blank\">@menglaw</a> to clarify, which annotations (coordinates or not?) are used in leaderboard AUC calculations?</p>\n<p>Thank you.</p>",
      "rawMarkdown": "Hello, \n\nI would love to hear more about annotation process - I noticed big inconsistency when it comes to CVC and Swan-Ganz catheters.\n\nIt seems, that for cases where coordinate annotations are available (train_annotations.csv), `Swan-Ganz` catheter is not labelled as `CVC -Normal` - which makes sense.\n\nHowever, for cases where such annotations are unavailable, Swan-Ganz catheter is also labelled as `CVC -Normal`. I confirmed this at looking Swan-Ganz cases, and they were also labelled as `CVC - Normal`, although no CVC was visible. I suspect radiologists made errors treating Swan-Ganz as CVC, and these errors were corrected through coordinate annotation process?\n\nThis has significant impact to `CVC - Normal` AUC scoring, and brings uncertainty what is true and what is not. \n\nTherefore, I would like to ask @menglaw to clarify, which annotations (coordinates or not?) are used in leaderboard AUC calculations?\n\nThank you.\n",
      "votes": 10,
      "replies": [
        {
          "id": 1139091,
          "postDate": "2021-01-05T06:38:12.217Z",
          "content": "<p><a href=\"https://www.kaggle.com/raddar\" target=\"_blank\">@raddar</a>, excellent question, you are asking all the right questions. We will get back to you shortly with a proper response to your question. Those of you familiar with ICU patients will realize that some CVC catheters have dual lumens, that is to facilitate placement of a Swan Ganz catheter through one of the lumens of the CVC, so the patient ends up having both a SG and a CVC. More to come………..</p>",
          "rawMarkdown": "@raddar, excellent question, you are asking all the right questions. We will get back to you shortly with a proper response to your question. Those of you familiar with ICU patients will realize that some CVC catheters have dual lumens, that is to facilitate placement of a Swan Ganz catheter through one of the lumens of the CVC, so the patient ends up having both a SG and a CVC. More to come...........",
          "votes": 6
        }
      ]
    },
    {
      "id": 1130165,
      "postDate": "2020-12-28T19:26:15.833Z",
      "content": "<p>Dear organizers,</p>\n<p>could you please check, if all instances in public/private LB have correct <code>ETT - Abnormal</code> labels. I accidently found one during my exploration in training set:</p>\n<p><a href=\"https://www.kaggle.com/raddar/errors-in-ett-abnormal-labels\" target=\"_blank\">https://www.kaggle.com/raddar/errors-in-ett-abnormal-labels</a></p>\n<p>As this category has very little count, the effect of label errors could potentially have huge impact on final standings.</p>",
      "rawMarkdown": "Dear organizers,\n\ncould you please check, if all instances in public/private LB have correct `ETT - Abnormal` labels. I accidently found one during my exploration in training set:\n\nhttps://www.kaggle.com/raddar/errors-in-ett-abnormal-labels\n\nAs this category has very little count, the effect of label errors could potentially have huge impact on final standings.",
      "votes": 5,
      "replies": [
        {
          "id": 1132416,
          "postDate": "2020-12-30T11:47:58.740Z",
          "content": "<p>there some NGT -&gt; CVC misclassifications as well (index from annotations file):</p>\n<p>index,StudyInstanceUID<br>\n12782,1.2.826.0.1.3680043.8.498.12545979153892772426852721449004507757<br>\n15779,1.2.826.0.1.3680043.8.498.75269816256944932004789976844599885553<br>\n16629,1.2.826.0.1.3680043.8.498.11935284122896798228836385959451625327<br>\n17501,1.2.826.0.1.3680043.8.498.83574817573978660270935463700320068005</p>\n<p>These cases are marked as NGT malpositions, although they are CVC malpositions</p>",
          "rawMarkdown": "there some NGT -> CVC misclassifications as well (index from annotations file):\n\nindex,StudyInstanceUID\n12782,1.2.826.0.1.3680043.8.498.12545979153892772426852721449004507757\n15779,1.2.826.0.1.3680043.8.498.75269816256944932004789976844599885553\n16629,1.2.826.0.1.3680043.8.498.11935284122896798228836385959451625327\n17501,1.2.826.0.1.3680043.8.498.83574817573978660270935463700320068005\n\nThese cases are marked as NGT malpositions, although they are CVC malpositions\n",
          "votes": 8
        }
      ]
    },
    {
      "id": 1211296,
      "postDate": "2021-02-20T05:54:30.177Z",
      "content": "<p>Dear organisers, kaggle team, <a href=\"https://www.kaggle.com/maggiemd\" target=\"_blank\">@maggiemd</a> </p>\n<p>May we please consider showing the Public LB scores in 5 decimal points? A lot of the submissions have very similar LB scores in 3 decimal points- making it 4 or 5 decimal points (like the current results in rainforest competition: <a href=\"https://www.kaggle.com/c/rfcx-species-audio-detection/leaderboard\" target=\"_blank\">https://www.kaggle.com/c/rfcx-species-audio-detection/leaderboard</a>) would be very helpful</p>\n<p>Thanks!!</p>",
      "rawMarkdown": "Dear organisers, kaggle team, @maggiemd \n\nMay we please consider showing the Public LB scores in 5 decimal points? A lot of the submissions have very similar LB scores in 3 decimal points- making it 4 or 5 decimal points (like the current results in rainforest competition: https://www.kaggle.com/c/rfcx-species-audio-detection/leaderboard) would be very helpful\n\nThanks!!",
      "votes": 4
    },
    {
      "id": 1130690,
      "postDate": "2020-12-29T08:40:26.760Z",
      "content": "<p>Can we use models pretrained on other public x-ray image datasets? (e.g. NIH) - CheXNet? </p>\n<p>e.g.<br>\n<a href=\"https://www.kaggle.com/danofer/ranzcr-chexnet-starter\" target=\"_blank\">https://www.kaggle.com/danofer/ranzcr-chexnet-starter</a><br>\n<a href=\"https://www.kaggle.com/danofer/ranzcr-chexnet-x-ray-transfer-learning-extractor\" target=\"_blank\">https://www.kaggle.com/danofer/ranzcr-chexnet-x-ray-transfer-learning-extractor</a></p>",
      "rawMarkdown": "Can we use models pretrained on other public x-ray image datasets? (e.g. NIH) - CheXNet? \n\ne.g.\nhttps://www.kaggle.com/danofer/ranzcr-chexnet-starter\n[https://www.kaggle.com/danofer/ranzcr-chexnet-x-ray-transfer-learning-extractor](https://www.kaggle.com/danofer/ranzcr-chexnet-x-ray-transfer-learning-extractor)",
      "votes": 4
    },
    {
      "id": 1150885,
      "postDate": "2021-01-12T23:52:10.750Z",
      "content": "<p>Hello! </p>\n<p>I would like to ask about the mutual exclusivity of the class labels, as I think this information will be useful in thinking about how to approach the problem.</p>\n<p>I notice that an image could have class labels of CVC, NGT and ETT all in one. This makes sense. However, there are images where it is labeled \"CVC - Normal\" **and **\"CVC - Borderline.\"</p>\n<p>Does this mean that it is possible for there to be more than 1 CVC for each patient? </p>\n<p>Thank you in advance.</p>",
      "rawMarkdown": "Hello! \n\nI would like to ask about the mutual exclusivity of the class labels, as I think this information will be useful in thinking about how to approach the problem.\n\nI notice that an image could have class labels of CVC, NGT and ETT all in one. This makes sense. However, there are images where it is labeled \"CVC - Normal\" **and **\"CVC - Borderline.\"\n\nDoes this mean that it is possible for there to be more than 1 CVC for each patient? \n\nThank you in advance.",
      "votes": 1,
      "replies": [
        {
          "id": 1153388,
          "postDate": "2021-01-14T21:00:40.187Z",
          "content": "<p>Yes. A person could have two cvc.</p>",
          "rawMarkdown": "Yes. A person could have two cvc."
        }
      ]
    },
    {
      "id": 1133042,
      "postDate": "2020-12-30T21:49:34.593Z",
      "content": "<p>Am a bit new to Code competitions. Are we allowed here to train models on our own personal GPUs without any time limits, and then just port the trained model into the notebooks when submitting the solutions (time limits apply during inference)? </p>",
      "rawMarkdown": "Am a bit new to Code competitions. Are we allowed here to train models on our own personal GPUs without any time limits, and then just port the trained model into the notebooks when submitting the solutions (time limits apply during inference)? ",
      "votes": 1,
      "replies": [
        {
          "id": 1133052,
          "postDate": "2020-12-30T22:10:24.773Z",
          "content": "<p>This is correct. </p>\n<p>However, you also have to make sure that your code runs with no internet connection (so pip install from pypi repository is not an option).</p>",
          "rawMarkdown": "This is correct. \n\nHowever, you also have to make sure that your code runs with no internet connection (so pip install from pypi repository is not an option).",
          "votes": 1
        },
        {
          "id": 1133159,
          "postDate": "2020-12-31T01:53:27.630Z",
          "content": "<p>Thanks for clearing it up :)</p>",
          "rawMarkdown": "Thanks for clearing it up :)"
        }
      ]
    },
    {
      "id": 1128409,
      "postDate": "2020-12-27T12:22:16.197Z",
      "content": "<p>Thanks for hosting this competition!<br>\nI have a question. Pseudo labeling for test data is allowed?</p>",
      "rawMarkdown": "Thanks for hosting this competition!\nI have a question. Pseudo labeling for test data is allowed?",
      "votes": 1,
      "replies": [
        {
          "id": 1130052,
          "postDate": "2020-12-28T18:05:30.260Z",
          "content": "<p>If pseudolabeling is fully automated, it is permitted. Hand-labeling of the test set is <strong>not (and never)</strong> permitted. </p>",
          "rawMarkdown": "If pseudolabeling is fully automated, it is permitted. Hand-labeling of the test set is **not (and never)** permitted. ",
          "votes": 2
        },
        {
          "id": 1130070,
          "postDate": "2020-12-28T18:19:38.723Z",
          "content": "<p>Thanks for clarification!</p>",
          "rawMarkdown": "Thanks for clarification!"
        },
        {
          "id": 1190209,
          "postDate": "2021-02-07T14:57:26.320Z",
          "content": "<p>Hi,</p>\n<p>I want to use tfrec files but I searched a lot and cant find formats of tfrec files anywhere for this competition. Where can I find it?</p>\n<p>Thank you.</p>",
          "rawMarkdown": "Hi,\n\nI want to use tfrec files but I searched a lot and cant find formats of tfrec files anywhere for this competition. Where can I find it?\n\nThank you."
        }
      ]
    },
    {
      "id": 1221040,
      "postDate": "2021-02-28T16:04:17.923Z",
      "content": "<p>How large is the test dataset? On the leaderboard <a href=\"https://www.kaggle.com/c/ranzcr-clip-catheter-line-classification/leaderboard\" target=\"_blank\">here</a>, it says that the private dataset is 75% of test and public is 25% test. </p>\n<blockquote>\n  <p>This leaderboard is calculated with approximately 25% of the test data.<br>\n  The final results will be based on the other 75%, so the final standings may be different.</p>\n</blockquote>\n<p>On the data page <a href=\"https://www.kaggle.com/c/ranzcr-clip-catheter-line-classification/data\" target=\"_blank\">here</a>, it says the the private dataset is 4x larger than public which would make private 80% and public 20%. </p>\n<blockquote>\n  <p>You will need the train and test images. This is a code-only competition so there is a hidden test set (approximately 4x larger, with ~14k images) as well.</p>\n</blockquote>\n<p>The public test dataset is contained in <code>sample_submission.csv</code> and contains 3582 images. Either the private dataset is approximately 14k images and we have 80% 20% split. Or the private dataset is approximately 10.5k images and we have 75% 25%. <strong>Which is correct</strong>? Thanks</p>",
      "rawMarkdown": "How large is the test dataset? On the leaderboard [here][1], it says that the private dataset is 75% of test and public is 25% test. \n>This leaderboard is calculated with approximately 25% of the test data.\n>The final results will be based on the other 75%, so the final standings may be different.\n\nOn the data page [here][2], it says the the private dataset is 4x larger than public which would make private 80% and public 20%. \n>You will need the train and test images. This is a code-only competition so there is a hidden test set (approximately 4x larger, with ~14k images) as well.\n\nThe public test dataset is contained in `sample_submission.csv` and contains 3582 images. Either the private dataset is approximately 14k images and we have 80% 20% split. Or the private dataset is approximately 10.5k images and we have 75% 25%. **Which is correct**? Thanks\n\n[1]: https://www.kaggle.com/c/ranzcr-clip-catheter-line-classification/leaderboard\n[2]: https://www.kaggle.com/c/ranzcr-clip-catheter-line-classification/data",
      "votes": 2,
      "replies": [
        {
          "id": 1222168,
          "postDate": "2021-03-01T15:50:06.673Z",
          "content": "<p>I am very sure that they mean the full hidden dataset as private dataset and the actual hidden private part is 3x as large the public part, so 25% and 75% should be correct. You can check your runtime, if it is roughly 4x as long as the commit, then the hidden part is 3x as large.</p>",
          "rawMarkdown": "I am very sure that they mean the full hidden dataset as private dataset and the actual hidden private part is 3x as large the public part, so 25% and 75% should be correct. You can check your runtime, if it is roughly 4x as long as the commit, then the hidden part is 3x as large.",
          "votes": 2
        }
      ]
    },
    {
      "id": 1217626,
      "postDate": "2021-02-25T07:50:49.750Z",
      "content": "<p>Dear Kagglers,</p>\n<p>With less than 2 weeks remaining, we have been extremely excited by the number of teams, level of engagement, enthusiasm and discussion for this challenge.<br>\nAs many of you have mentioned in the discussion, this is really 2 challenges in one. <a href=\"https://www.kaggle.com/Raddar\" target=\"_blank\">@Raddar</a> has also mentioned that one of the challenges in itself are the definitions. The organisers, made up of a team of data scientists, radiologists, physicians spent a considerable amount of time figuring out a clear set of definitions. This is crucial to ensure maximal inter-radiologist consistency in labelling, reduce labeling error and also why medically some patients may have an ETT and some a tracheostomy, some patients could have more than one CVC because of the different types of CVCs etc.</p>\n<p>We would encourage teams include a team member who is medical  or to have some medical consultation. This is so that you can truly understand the various medical scenarios requiring different lines and tubes and that a clear set of definitions is important in this challenge. We also tried to keep things less complicated by not including other lines and tubes, for example chest tubes placed for pneumothorax.</p>\n<p>Good luck with the rest of the challenge.</p>",
      "rawMarkdown": "Dear Kagglers,\n\nWith less than 2 weeks remaining, we have been extremely excited by the number of teams, level of engagement, enthusiasm and discussion for this challenge.\nAs many of you have mentioned in the discussion, this is really 2 challenges in one. @Raddar has also mentioned that one of the challenges in itself are the definitions. The organisers, made up of a team of data scientists, radiologists, physicians spent a considerable amount of time figuring out a clear set of definitions. This is crucial to ensure maximal inter-radiologist consistency in labelling, reduce labeling error and also why medically some patients may have an ETT and some a tracheostomy, some patients could have more than one CVC because of the different types of CVCs etc.\n\nWe would encourage teams include a team member who is medical  or to have some medical consultation. This is so that you can truly understand the various medical scenarios requiring different lines and tubes and that a clear set of definitions is important in this challenge. We also tried to keep things less complicated by not including other lines and tubes, for example chest tubes placed for pneumothorax.\n\nGood luck with the rest of the challenge.",
      "votes": 2,
      "replies": [
        {
          "id": 1217741,
          "postDate": "2021-02-25T09:32:46.570Z",
          "content": "<p>As in this <a href=\"https://www.kaggle.com/c/ranzcr-clip-catheter-line-classification/discussion/203367#1211296\" target=\"_blank\">discussion</a>, We would like to get our correct Public LB position by increasing Public LB score into 5 decimal places. Since A lot of the submissions have very similar LB scores in 3 decimal points. Please consider this<br>\nThanks</p>",
          "rawMarkdown": "As in this [discussion](https://www.kaggle.com/c/ranzcr-clip-catheter-line-classification/discussion/203367#1211296), We would like to get our correct Public LB position by increasing Public LB score into 5 decimal places. Since A lot of the submissions have very similar LB scores in 3 decimal points. Please consider this\nThanks"
        }
      ]
    },
    {
      "id": 1117458,
      "postDate": "2020-12-18T04:52:56.603Z",
      "content": "<p>Thank you! This is not exactly what I asked. These are more about the rate of malpositioning. We usually compare our models to human baseline. The question is, if we give a radiologist all those x rays, what would be his score?<br>\nIf the images were double or triple checked, we can deduct this rate from the individual assessment compared to the final \"expert\" opinion. There was no information in the data description how the data was collected and reviewed…. <br>\nAnyways, just curiosity, it has nothing to do with the competition. </p>",
      "rawMarkdown": "Thank you! This is not exactly what I asked. These are more about the rate of malpositioning. We usually compare our models to human baseline. The question is, if we give a radiologist all those x rays, what would be his score?\nIf the images were double or triple checked, we can deduct this rate from the individual assessment compared to the final \"expert\" opinion. There was no information in the data description how the data was collected and reviewed.... \nAnyways, just curiosity, it has nothing to do with the competition. ",
      "votes": 2,
      "replies": [
        {
          "id": 1117467,
          "postDate": "2020-12-18T05:17:08.357Z",
          "content": "<p>Yes, I realized I didn't answer the question, so I have been looking for literature to answer the question and have not found any. I think in part, that is because of the definition of optimal, suboptimal and incorrect placements of these lines and tubes was not clearly outlined for a paper answer this question</p>",
          "rawMarkdown": "Yes, I realized I didn't answer the question, so I have been looking for literature to answer the question and have not found any. I think in part, that is because of the definition of optimal, suboptimal and incorrect placements of these lines and tubes was not clearly outlined for a paper answer this question",
          "votes": 1
        },
        {
          "id": 1117494,
          "postDate": "2020-12-18T06:04:46.767Z",
          "content": "<p>I see… Would you mind sharing how the data was assessed (single check? double check? triple check)? (it is superb, btw, as can be seen from the very high precision of the models even this early in the competition)</p>",
          "rawMarkdown": "I see... Would you mind sharing how the data was assessed (single check? double check? triple check)? (it is superb, btw, as can be seen from the very high precision of the models even this early in the competition)",
          "votes": 1
        },
        {
          "id": 1117496,
          "postDate": "2020-12-18T06:13:11.470Z",
          "content": "<p>Hi Moshel,</p>\n<p>Thanks for your participation. A large percentage of the dataset was double labelled and triple labelled. A further check at the end was also performed to ensure consistency of the labels. Good luck in the competition! </p>\n<p>Thanks,</p>\n<p>Jennifer </p>",
          "rawMarkdown": "Hi Moshel,\n\nThanks for your participation. A large percentage of the dataset was double labelled and triple labelled. A further check at the end was also performed to ensure consistency of the labels. Good luck in the competition! \n\nThanks,\n\nJennifer ",
          "votes": 3
        },
        {
          "id": 1117522,
          "postDate": "2020-12-18T07:00:04.270Z",
          "content": "<p>Thank you! If you have the full labeling records, we can probably calculate something from it. Perhaps after the competition so no data will leak. Well done on a terrific dataset! </p>",
          "rawMarkdown": "Thank you! If you have the full labeling records, we can probably calculate something from it. Perhaps after the competition so no data will leak. Well done on a terrific dataset! ",
          "votes": 1
        },
        {
          "id": 1121695,
          "postDate": "2020-12-21T20:26:47.167Z",
          "content": "<p>Thank you Moshel for your kind words. We think that medically this is a real challenge in real life in everyday clinical practice even for doctors to accurately and quickly determine the location of these lines and tubes. This is a challenge in itself within a challenge.</p>",
          "rawMarkdown": "Thank you Moshel for your kind words. We think that medically this is a real challenge in real life in everyday clinical practice even for doctors to accurately and quickly determine the location of these lines and tubes. This is a challenge in itself within a challenge.",
          "votes": 1
        },
        {
          "id": 1149122,
          "postDate": "2021-01-11T15:50:48.697Z",
          "rawMarkdown": "",
          "isDeleted": true
        },
        {
          "id": 1149526,
          "postDate": "2021-01-11T22:57:27.980Z",
          "content": "<p><a href=\"https://www.kaggle.com/YiYuan\" target=\"_blank\">@YiYuan</a>, excellent point, that is indeed one way to check if the NGT is in the stomach and many centre do this. it is possible however (at some institutions and it has happened in ours), the NGT could be placed into the lungs and fluid  aspirated. This gives the wrong impression that the NGT is in the stomach. The patient was fed fluids etc incorrectly into the lungs instead of the stomach, resulting in pneumonia and then death. This is the reason why in many hospital including ours, the preference is to confirm the NGT is in the right position with an x-ray before feeding the patient.</p>",
          "rawMarkdown": "@YiYuan, excellent point, that is indeed one way to check if the NGT is in the stomach and many centre do this. it is possible however (at some institutions and it has happened in ours), the NGT could be placed into the lungs and fluid  aspirated. This gives the wrong impression that the NGT is in the stomach. The patient was fed fluids etc incorrectly into the lungs instead of the stomach, resulting in pneumonia and then death. This is the reason why in many hospital including ours, the preference is to confirm the NGT is in the right position with an x-ray before feeding the patient.",
          "votes": 1
        },
        {
          "id": 1150103,
          "postDate": "2021-01-12T11:25:46.900Z",
          "rawMarkdown": "",
          "votes": 1,
          "isDeleted": true
        },
        {
          "id": 1150333,
          "postDate": "2021-01-12T14:18:11.867Z",
          "content": "<blockquote>\n  <p>Another thing I was thinking that if it's feasible to split the dateset into three subsets (NGT set, CVC set and ETT set). So the machine just predict the abnormalities based on each own field while ignoring the other issues).</p>\n</blockquote>\n<p>I'm wondering the same thing.  I'm also a first timer though so I don't know. </p>",
          "rawMarkdown": "> Another thing I was thinking that if it's feasible to split the dateset into three subsets (NGT set, CVC set and ETT set). So the machine just predict the abnormalities based on each own field while ignoring the other issues).\n\nI'm wondering the same thing.  I'm also a first timer though so I don't know. ",
          "votes": 1
        },
        {
          "id": 1150540,
          "postDate": "2021-01-12T16:48:25.823Z",
          "rawMarkdown": "",
          "isDeleted": true
        }
      ]
    },
    {
      "id": 1116645,
      "postDate": "2020-12-17T11:08:01.890Z",
      "content": "<p>Just out of curiosity… What is the radiologist accuracy in reading these x rays?</p>",
      "rawMarkdown": "Just out of curiosity... What is the radiologist accuracy in reading these x rays?",
      "votes": 2,
      "replies": [
        {
          "id": 1117447,
          "postDate": "2020-12-18T04:15:01.317Z",
          "content": "<p>Good question Moshel, it happens not infrequently. In the literature this is what we found. Nasogastric tube malpositioning into the airways has been reported in up to 3% of cases, with up to 40% of these cases demonstrating complications [1-3]. Airway tube malposition in adult patients intubated outside the operating room is seen in up to 25% of cases [4,5].</p>",
          "rawMarkdown": "Good question Moshel, it happens not infrequently. In the literature this is what we found. Nasogastric tube malpositioning into the airways has been reported in up to 3% of cases, with up to 40% of these cases demonstrating complications [1-3]. Airway tube malposition in adult patients intubated outside the operating room is seen in up to 25% of cases [4,5].",
          "votes": 1
        },
        {
          "id": 1117448,
          "postDate": "2020-12-18T04:16:16.300Z",
          "content": "<ol>\n<li>Koopmann MC, Kudsk KA, Szotkowski MJ, Rees SM. A Team-Based Protocol and Electromagnetic Technology Eliminate Feeding Tube Placement Complications [Internet]. Vol. 253, Annals of Surgery. 2011. p. 297–302. Available from: <a href=\"http://dx.doi.org/10.1097/sla.0b013e318208f550\" target=\"_blank\">http://dx.doi.org/10.1097/sla.0b013e318208f550</a></li>\n<li>Sorokin R, Gottlieb JE. Enhancing patient safety during feeding-tube insertion: a review of more than 2,000 insertions. JPEN J Parenter Enteral Nutr. 2006 Sep;30(5):440–5.</li>\n<li>Marderstein EL, Simmons RL, Ochoa JB. Patient safety: effect of institutional protocols on adverse events related to feeding tube placement in the critically ill. J Am Coll Surg. 2004 Jul;199(1):39–47; discussion 47–50.</li>\n<li>Jemmett ME. Unrecognized Misplacement of Endotracheal Tubes in a Mixed Urban to Rural Emergency Medical Services Setting [Internet]. Vol. 10, Academic Emergency Medicine. 2003. p. 961–5. Available from: <a href=\"http://dx.doi.org/10.1197/s1069-6563(03)00315-4\" target=\"_blank\">http://dx.doi.org/10.1197/s1069-6563(03)00315-4</a><br>\nLotano R, Gerber D, Aseron C, Santarelli R, Pratter M. Utility of postintubation chest radiographs in the intensive care unit. Crit Care. 2000 Jan 24;4(1):50–3.</li>\n</ol>",
          "rawMarkdown": "1. Koopmann MC, Kudsk KA, Szotkowski MJ, Rees SM. A Team-Based Protocol and Electromagnetic Technology Eliminate Feeding Tube Placement Complications [Internet]. Vol. 253, Annals of Surgery. 2011. p. 297–302. Available from: http://dx.doi.org/10.1097/sla.0b013e318208f550\n2. Sorokin R, Gottlieb JE. Enhancing patient safety during feeding-tube insertion: a review of more than 2,000 insertions. JPEN J Parenter Enteral Nutr. 2006 Sep;30(5):440–5.\n3. Marderstein EL, Simmons RL, Ochoa JB. Patient safety: effect of institutional protocols on adverse events related to feeding tube placement in the critically ill. J Am Coll Surg. 2004 Jul;199(1):39–47; discussion 47–50.\n4. Jemmett ME. Unrecognized Misplacement of Endotracheal Tubes in a Mixed Urban to Rural Emergency Medical Services Setting [Internet]. Vol. 10, Academic Emergency Medicine. 2003. p. 961–5. Available from: http://dx.doi.org/10.1197/s1069-6563(03)00315-4\nLotano R, Gerber D, Aseron C, Santarelli R, Pratter M. Utility of postintubation chest radiographs in the intensive care unit. Crit Care. 2000 Jan 24;4(1):50–3.",
          "votes": 1
        }
      ]
    },
    {
      "id": 1771555,
      "postDate": "2022-04-29T10:43:40.727Z",
      "content": "<p><a href=\"https://www.kaggle.com/menglaw\" target=\"_blank\">@menglaw</a> can the competitions data be used for academic/research purposes?</p>",
      "rawMarkdown": "@menglaw can the competitions data be used for academic/research purposes?"
    },
    {
      "id": 1515632,
      "postDate": "2021-09-17T09:52:43.043Z",
      "content": "<p>Hello,<br>\nI'm working on this dataset for 4 months , i tried to train a single model using tensorflow and i can't overpass \"accuracy 81%\" . i need strongly your helps to improve my training . my code is below.<br>\nThanks;)</p>\n<p>import matplotlib.pyplot as plt<br>\nimport numpy as np<br>\nimport os<br>\nimport tensorflow as tf<br>\nimport tensorflow.keras.layers as tfl<br>\nfrom tensorflow.keras.layers import Flatten ,Dense<br>\nfrom tensorflow.keras.preprocessing import image_dataset_from_directory<br>\nfrom tensorflow.keras.layers.experimental.preprocessing import RandomFlip,RandomZoom,Rescaling, RandomRotation,RandomCrop,RandomContrast,Normalization</p>\n<p>load data<br>\nimport pandas as pd<br>\ntrain_df = pd.read_csv('/home/admin/cnn/ranzcr-clip-catheter-line-classification/ranzcr-Original-data/train.csv')</p>\n<p>sample_df.shape<br>\ndef append_ext(fn):<br>\nreturn fn+\".jpg\"</p>\n<p>train_df[\"StudyInstanceUID\"]=train_df[\"StudyInstanceUID\"].apply(append_ext)</p>\n<p>BATCH_SIZE = 64<br>\nIMG_SIZE = (224, 224)<br>\nfrom tensorflow.keras.preprocessing.image import ImageDataGenerator<br>\nlabel=['ETT - Abnormal', 'ETT - Borderline',<br>\n'ETT - Normal', 'NGT - Abnormal', 'NGT - Borderline',<br>\n'NGT - Incompletely Imaged', 'NGT - Normal', 'CVC - Abnormal',<br>\n'CVC - Borderline', 'CVC - Normal', 'Swan Ganz Catheter Present']</p>\n<p>datagen=ImageDataGenerator(validation_split=0.15,</p>\n<p>rotation_range=rotation_range,<br>\nhorizontal_flip= True,<br>\nrescale=1./255.)</p>\n<p>train_dataset=datagen.flow_from_dataframe(<br>\ndataframe=train_df,<br>\ndirectory=\"/home/admin/cnn/ranzcr-clip-catheter-line-classification/ranzcr-Original-data/train/\",<br>\nx_col=\"StudyInstanceUID\",<br>\ny_col=label,</p>\n<p>subset=\"training\",<br>\nbatch_size=BATCH_SIZE,<br>\ncolor_mode='rgb',<br>\nlabels_mode ='binary',<br>\nclass_mode='raw',<br>\ntarget_size=IMG_SIZE,<br>\nshuffle=True,<br>\nseed=42,<br>\ninterpolation=\"bilinear\")</p>\n<p>validation_dataset=datagen.flow_from_dataframe(<br>\ndataframe=train_df,<br>\ndirectory=\"/home/admin/cnn/ranzcr-clip-catheter-line-classification/ranzcr-Original-data/train\",<br>\nx_col=\"StudyInstanceUID\",<br>\ny_col=label,<br>\nsubset=\"validation\",<br>\nbatch_size=BATCH_SIZE,<br>\ncolor_mode='rgb',<br>\nlabels_mode ='binary',<br>\nclass_mode='raw',<br>\ntarget_size=IMG_SIZE,<br>\nshuffle=True,<br>\nseed=42)</p>\n<p>def data_augmenter():<br>\n'''<br>\nCreate a Sequential model composed of 2 layers<br>\nReturns:<br>\ntf.keras.Sequential<br>\n'''</p>\n<p>START CODE HERE<br>\ndata_augmentation = tf.keras.Sequential()<br>\ndata_augmentation.add(RandomFlip('horizontal'))<br>\ndata_augmentation.add(RandomRotation(0.05))<br>\ndata_augmentation.add(RandomCrop(224,224))<br>\ndata_augmentation.add(RandomContrast(0.2))<br>\ndata_augmentation.add(Normalization())</p>\n<p>END CODE HERE<br>\nreturn data_augmentation<br>\ndata_augmentation = data_augmenter()</p>\n<p>preprocess_input = tf.keras.applications.mobilenet_v2.preprocess_input<br>\nfrom tensorflow.keras.applications.densenet import DenseNet121<br>\nIMG_SHAPE = IMG_SIZE + (3,)<br>\nbase_model = DenseNet121(weights = \"imagenet\", include_top=False, input_shape=IMG_SHAPE)</p>\n<p>nb_layers = len(base_model.layers)<br>\nprint(base_model.layers[nb_layers - 2].name)<br>\nprint(base_model.layers[nb_layers - 1].name)</p>\n<p>image_batch, label_batch = next(iter(train_dataset))<br>\nfeature_batch = base_model(image_batch)<br>\nprint(feature_batch.shape)</p>\n<p>base_model.trainable = False<br>\nimage_var = tf.Variable(image_batch)</p>\n<p>base_model.trainable = False<br>\nimage_var = tf.Variable(image_batch)<br>\npred = base_model(image_var)</p>\n<p>def My_model(image_shape=IMG_SIZE, data_augmentation=data_augmenter()):<br>\nfrom tensorflow.keras import Model, initializers, regularizers<br>\ninitializer1 = initializers.GlorotNormal()</p>\n<p>input_shape = image_shape + (3,)</p>\n<p>base_model = DenseNet121(weights = \"imagenet\", include_top=False, input_shape=IMG_SHAPE)</p>\n<p>base_model.trainable = base_model.trainable=False</p>\n<p>inputs = tf.keras.Input(shape=input_shape)</p>\n<p>x = data_augmenter()(inputs)</p>\n<p>x = base_model(inputs, training=False)</p>\n<p>x = Flatten()(x)<br>\nx = Dense(1024, kernel_initializer=initializer1 ,activation='relu')(x)<br>\nx = tfl.Dropout(0.4)(x)</p>\n<p>outputs = tfl.Dense(11,activation='sigmoid')(x)</p>\n<p>model = tf.keras.Model(inputs, outputs)</p>\n<p>return model<br>\nmodel2 = My_model(IMG_SIZE, data_augmentation)</p>\n<p>base_learning_rate = 0.001<br>\nmodel2.compile(loss='binary_crossentropy', optimizer= tf.keras.optimizers.Adam(lr=base_learning_rate),<br>\nmetrics=[tf.keras.metrics.AUC(name='auc',multi_label= True)])</p>\n<p>initial_learning_rate = 0.001<br>\ndef lr_exp_decay(epoch, lr):<br>\nk = 0.1<br>\nreturn initial_learning_rate * tf.math.exp(-k*epoch)</p>\n<p>initial_epochs = 25<br>\nhistory = model2.fit(train_dataset, epochs=initial_epochs , callbacks=[tf.keras.callbacks.LearningRateScheduler(lr_exp_decay, verbose=1)])</p>",
      "rawMarkdown": "Hello,\nI'm working on this dataset for 4 months , i tried to train a single model using tensorflow and i can't overpass \"accuracy 81%\" . i need strongly your helps to improve my training . my code is below.\nThanks;)\n\nimport matplotlib.pyplot as plt\nimport numpy as np\nimport os\nimport tensorflow as tf\nimport tensorflow.keras.layers as tfl\nfrom tensorflow.keras.layers import Flatten ,Dense\nfrom tensorflow.keras.preprocessing import image_dataset_from_directory\nfrom tensorflow.keras.layers.experimental.preprocessing import RandomFlip,RandomZoom,Rescaling, RandomRotation,RandomCrop,RandomContrast,Normalization\n\nload data\nimport pandas as pd\ntrain_df = pd.read_csv('/home/admin/cnn/ranzcr-clip-catheter-line-classification/ranzcr-Original-data/train.csv')\n\nsample_df.shape\ndef append_ext(fn):\nreturn fn+\".jpg\"\n\ntrain_df[\"StudyInstanceUID\"]=train_df[\"StudyInstanceUID\"].apply(append_ext)\n\nBATCH_SIZE = 64\nIMG_SIZE = (224, 224)\nfrom tensorflow.keras.preprocessing.image import ImageDataGenerator\nlabel=['ETT - Abnormal', 'ETT - Borderline',\n'ETT - Normal', 'NGT - Abnormal', 'NGT - Borderline',\n'NGT - Incompletely Imaged', 'NGT - Normal', 'CVC - Abnormal',\n'CVC - Borderline', 'CVC - Normal', 'Swan Ganz Catheter Present']\n\ndatagen=ImageDataGenerator(validation_split=0.15,\n\nrotation_range=rotation_range,\nhorizontal_flip= True,\nrescale=1./255.)\n\ntrain_dataset=datagen.flow_from_dataframe(\ndataframe=train_df,\ndirectory=\"/home/admin/cnn/ranzcr-clip-catheter-line-classification/ranzcr-Original-data/train/\",\nx_col=\"StudyInstanceUID\",\ny_col=label,\n\nsubset=\"training\",\nbatch_size=BATCH_SIZE,\ncolor_mode='rgb',\nlabels_mode ='binary',\nclass_mode='raw',\ntarget_size=IMG_SIZE,\nshuffle=True,\nseed=42,\ninterpolation=\"bilinear\")\n\nvalidation_dataset=datagen.flow_from_dataframe(\ndataframe=train_df,\ndirectory=\"/home/admin/cnn/ranzcr-clip-catheter-line-classification/ranzcr-Original-data/train\",\nx_col=\"StudyInstanceUID\",\ny_col=label,\nsubset=\"validation\",\nbatch_size=BATCH_SIZE,\ncolor_mode='rgb',\nlabels_mode ='binary',\nclass_mode='raw',\ntarget_size=IMG_SIZE,\nshuffle=True,\nseed=42)\n\ndef data_augmenter():\n'''\nCreate a Sequential model composed of 2 layers\nReturns:\ntf.keras.Sequential\n'''\n\nSTART CODE HERE\ndata_augmentation = tf.keras.Sequential()\ndata_augmentation.add(RandomFlip('horizontal'))\ndata_augmentation.add(RandomRotation(0.05))\ndata_augmentation.add(RandomCrop(224,224))\ndata_augmentation.add(RandomContrast(0.2))\ndata_augmentation.add(Normalization())\n\nEND CODE HERE\nreturn data_augmentation\ndata_augmentation = data_augmenter()\n\npreprocess_input = tf.keras.applications.mobilenet_v2.preprocess_input\nfrom tensorflow.keras.applications.densenet import DenseNet121\nIMG_SHAPE = IMG_SIZE + (3,)\nbase_model = DenseNet121(weights = \"imagenet\", include_top=False, input_shape=IMG_SHAPE)\n\nnb_layers = len(base_model.layers)\nprint(base_model.layers[nb_layers - 2].name)\nprint(base_model.layers[nb_layers - 1].name)\n\nimage_batch, label_batch = next(iter(train_dataset))\nfeature_batch = base_model(image_batch)\nprint(feature_batch.shape)\n\nbase_model.trainable = False\nimage_var = tf.Variable(image_batch)\n\nbase_model.trainable = False\nimage_var = tf.Variable(image_batch)\npred = base_model(image_var)\n\ndef My_model(image_shape=IMG_SIZE, data_augmentation=data_augmenter()):\nfrom tensorflow.keras import Model, initializers, regularizers\ninitializer1 = initializers.GlorotNormal()\n\ninput_shape = image_shape + (3,)\n\nbase_model = DenseNet121(weights = \"imagenet\", include_top=False, input_shape=IMG_SHAPE)\n\nbase_model.trainable = base_model.trainable=False\n\ninputs = tf.keras.Input(shape=input_shape)\n\nx = data_augmenter()(inputs)\n\nx = base_model(inputs, training=False)\n\nx = Flatten()(x)\nx = Dense(1024, kernel_initializer=initializer1 ,activation='relu')(x)\nx = tfl.Dropout(0.4)(x)\n\noutputs = tfl.Dense(11,activation='sigmoid')(x)\n\nmodel = tf.keras.Model(inputs, outputs)\n\nreturn model\nmodel2 = My_model(IMG_SIZE, data_augmentation)\n\nbase_learning_rate = 0.001\nmodel2.compile(loss='binary_crossentropy', optimizer= tf.keras.optimizers.Adam(lr=base_learning_rate),\nmetrics=[tf.keras.metrics.AUC(name='auc',multi_label= True)])\n\ninitial_learning_rate = 0.001\ndef lr_exp_decay(epoch, lr):\nk = 0.1\nreturn initial_learning_rate * tf.math.exp(-k*epoch)\n\ninitial_epochs = 25\nhistory = model2.fit(train_dataset, epochs=initial_epochs , callbacks=[tf.keras.callbacks.LearningRateScheduler(lr_exp_decay, verbose=1)])"
    },
    {
      "id": 1209991,
      "postDate": "2021-02-19T06:27:53.917Z",
      "content": "<p>Dear organizers, <a href=\"https://www.kaggle.com/menglaw\" target=\"_blank\">@menglaw</a><br>\nAre we allowed to use checpert dataset?</p>",
      "rawMarkdown": "Dear organizers, @menglaw\nAre we allowed to use checpert dataset?"
    },
    {
      "id": 1204375,
      "postDate": "2021-02-16T05:13:01.013Z",
      "content": "<p>Some images have been classified as CVC-Abnormal and CVC-Normal at the same time. Is it possible or some data cleaning is required. Similarly there are images which are CVC-Abnormal, CVC-Borderline and CVC-Normal at th same time.</p>",
      "rawMarkdown": "Some images have been classified as CVC-Abnormal and CVC-Normal at the same time. Is it possible or some data cleaning is required. Similarly there are images which are CVC-Abnormal, CVC-Borderline and CVC-Normal at th same time.",
      "replies": [
        {
          "id": 1205547,
          "postDate": "2021-02-16T18:54:44.013Z",
          "content": "<p>Images can have more than one CVC. So each CVC could have a different classification.</p>",
          "rawMarkdown": "Images can have more than one CVC. So each CVC could have a different classification."
        }
      ]
    },
    {
      "id": 1201772,
      "postDate": "2021-02-15T16:40:10.133Z",
      "content": "<p>Hi! Suddenly today I can not submit.<br>\n<a href=\"http://vfl.ru/fotos/c19569d433345936.html\" target=\"_blank\">http://vfl.ru/fotos/c19569d433345936.html</a></p>",
      "rawMarkdown": "Hi! Suddenly today I can not submit.\nhttp://vfl.ru/fotos/c19569d433345936.html"
    },
    {
      "id": 1189558,
      "postDate": "2021-02-07T05:41:03.623Z",
      "content": "<p>Hi,</p>\n<p>I want to use tfrec files but I searched a lot and cant find formats of tfrec files anywhere for this competition. Where can I find it?</p>\n<p>Thank you.</p>",
      "rawMarkdown": "Hi,\n\nI want to use tfrec files but I searched a lot and cant find formats of tfrec files anywhere for this competition. Where can I find it?\n\nThank you.",
      "replies": [
        {
          "id": 1192017,
          "postDate": "2021-02-08T21:15:43.527Z",
          "content": "<p>You can look under the data tab in the folders there. </p>",
          "rawMarkdown": "You can look under the data tab in the folders there. ",
          "votes": 1
        }
      ]
    },
    {
      "id": 1147618,
      "postDate": "2021-01-10T15:59:47.063Z",
      "content": "<p>Learning a lot from this competition</p>",
      "rawMarkdown": "Learning a lot from this competition"
    },
    {
      "id": 1120070,
      "postDate": "2020-12-20T15:09:26.993Z",
      "content": "<p>Hi there! I was just wondering whether it is permissible to use an automated machine learning algorithm (e.g. Google AutoML Vision) to build the model? Thank you very much :)</p>",
      "rawMarkdown": "Hi there! I was just wondering whether it is permissible to use an automated machine learning algorithm (e.g. Google AutoML Vision) to build the model? Thank you very much :)",
      "replies": [
        {
          "id": 1121567,
          "postDate": "2020-12-21T18:32:02.250Z",
          "content": "<p><a href=\"https://www.kaggle.com/abdallahabbas\" target=\"_blank\">@abdallahabbas</a> Automated machine learning algorithms are permitted and fall under the category of \"commercially available software…that can be procured by the Competition Sponsor without undue expense…\" -- Please review the <a href=\"https://www.kaggle.com/c/ranzcr-clip-catheter-line-classification/rules\" target=\"_blank\">competition's rules</a> carefully, specifically sections A1, A4, and Section 11, about the conditions under which such tools can be used.</p>",
          "rawMarkdown": "@abdallahabbas Automated machine learning algorithms are permitted and fall under the category of \"commercially available software...that can be procured by the Competition Sponsor without undue expense...\" -- Please review the [competition's rules](https://www.kaggle.com/c/ranzcr-clip-catheter-line-classification/rules) carefully, specifically sections A1, A4, and Section 11, about the conditions under which such tools can be used.",
          "votes": 2
        }
      ]
    },
    {
      "id": 1153834,
      "postDate": "2021-01-15T07:26:22.623Z",
      "rawMarkdown": "",
      "votes": 2,
      "isDeleted": true
    },
    {
      "id": 1152297,
      "postDate": "2021-01-14T02:48:23.133Z",
      "rawMarkdown": "",
      "isDeleted": true
    }
  ],
  "comments": [
    {
      "id": 1138150,
      "author_name": "raddar",
      "author_url": "",
      "post_date": "2021-01-04T12:44:00.247000",
      "content": "<p>Hello, </p>\n<p>I would love to hear more about annotation process - I noticed big inconsistency when it comes to CVC and Swan-Ganz catheters.</p>\n<p>It seems, that for cases where coordinate annotations are available (train_annotations.csv), <code>Swan-Ganz</code> catheter is not labelled as <code>CVC -Normal</code> - which makes sense.</p>\n<p>However, for cases where such annotations are unavailable, Swan-Ganz catheter is also labelled as <code>CVC -Normal</code>. I confirmed this at looking Swan-Ganz cases, and they were also labelled as <code>CVC - Normal</code>, although no CVC was visible. I suspect radiologists made errors treating Swan-Ganz as CVC, and these errors were corrected through coordinate annotation process?</p>\n<p>This has significant impact to <code>CVC - Normal</code> AUC scoring, and brings uncertainty what is true and what is not. </p>\n<p>Therefore, I would like to ask <a href=\"https://www.kaggle.com/menglaw\" target=\"_blank\">@menglaw</a> to clarify, which annotations (coordinates or not?) are used in leaderboard AUC calculations?</p>\n<p>Thank you.</p>",
      "votes": 10,
      "replies": [
        {
          "id": 1139091,
          "author_name": "Meng Law",
          "author_url": "",
          "post_date": "2021-01-05T06:38:12.217000",
          "content": "<p><a href=\"https://www.kaggle.com/raddar\" target=\"_blank\">@raddar</a>, excellent question, you are asking all the right questions. We will get back to you shortly with a proper response to your question. Those of you familiar with ICU patients will realize that some CVC catheters have dual lumens, that is to facilitate placement of a Swan Ganz catheter through one of the lumens of the CVC, so the patient ends up having both a SG and a CVC. More to come………..</p>",
          "votes": 6,
          "replies": []
        }
      ]
    },
    {
      "id": 1130165,
      "author_name": "raddar",
      "author_url": "",
      "post_date": "2020-12-28T19:26:15.833000",
      "content": "<p>Dear organizers,</p>\n<p>could you please check, if all instances in public/private LB have correct <code>ETT - Abnormal</code> labels. I accidently found one during my exploration in training set:</p>\n<p><a href=\"https://www.kaggle.com/raddar/errors-in-ett-abnormal-labels\" target=\"_blank\">https://www.kaggle.com/raddar/errors-in-ett-abnormal-labels</a></p>\n<p>As this category has very little count, the effect of label errors could potentially have huge impact on final standings.</p>",
      "votes": 5,
      "replies": [
        {
          "id": 1132416,
          "author_name": "raddar",
          "author_url": "",
          "post_date": "2020-12-30T11:47:58.740000",
          "content": "<p>there some NGT -&gt; CVC misclassifications as well (index from annotations file):</p>\n<p>index,StudyInstanceUID<br>\n12782,1.2.826.0.1.3680043.8.498.12545979153892772426852721449004507757<br>\n15779,1.2.826.0.1.3680043.8.498.75269816256944932004789976844599885553<br>\n16629,1.2.826.0.1.3680043.8.498.11935284122896798228836385959451625327<br>\n17501,1.2.826.0.1.3680043.8.498.83574817573978660270935463700320068005</p>\n<p>These cases are marked as NGT malpositions, although they are CVC malpositions</p>",
          "votes": 8,
          "replies": []
        }
      ]
    },
    {
      "id": 1211296,
      "author_name": "Kamal Das",
      "author_url": "",
      "post_date": "2021-02-20T05:54:30.177000",
      "content": "<p>Dear organisers, kaggle team, <a href=\"https://www.kaggle.com/maggiemd\" target=\"_blank\">@maggiemd</a> </p>\n<p>May we please consider showing the Public LB scores in 5 decimal points? A lot of the submissions have very similar LB scores in 3 decimal points- making it 4 or 5 decimal points (like the current results in rainforest competition: <a href=\"https://www.kaggle.com/c/rfcx-species-audio-detection/leaderboard\" target=\"_blank\">https://www.kaggle.com/c/rfcx-species-audio-detection/leaderboard</a>) would be very helpful</p>\n<p>Thanks!!</p>",
      "votes": 4,
      "replies": []
    },
    {
      "id": 1130690,
      "author_name": "Dan Ofer",
      "author_url": "",
      "post_date": "2020-12-29T08:40:26.760000",
      "content": "<p>Can we use models pretrained on other public x-ray image datasets? (e.g. NIH) - CheXNet? </p>\n<p>e.g.<br>\n<a href=\"https://www.kaggle.com/danofer/ranzcr-chexnet-starter\" target=\"_blank\">https://www.kaggle.com/danofer/ranzcr-chexnet-starter</a><br>\n<a href=\"https://www.kaggle.com/danofer/ranzcr-chexnet-x-ray-transfer-learning-extractor\" target=\"_blank\">https://www.kaggle.com/danofer/ranzcr-chexnet-x-ray-transfer-learning-extractor</a></p>",
      "votes": 4,
      "replies": []
    },
    {
      "id": 1150885,
      "author_name": "Stanley Hua",
      "author_url": "",
      "post_date": "2021-01-12T23:52:10.750000",
      "content": "<p>Hello! </p>\n<p>I would like to ask about the mutual exclusivity of the class labels, as I think this information will be useful in thinking about how to approach the problem.</p>\n<p>I notice that an image could have class labels of CVC, NGT and ETT all in one. This makes sense. However, there are images where it is labeled \"CVC - Normal\" **and **\"CVC - Borderline.\"</p>\n<p>Does this mean that it is possible for there to be more than 1 CVC for each patient? </p>\n<p>Thank you in advance.</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1153388,
          "author_name": "quadcore/Richard Epstein",
          "author_url": "",
          "post_date": "2021-01-14T21:00:40.187000",
          "content": "<p>Yes. A person could have two cvc.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1133042,
      "author_name": "Vin Bhaskara",
      "author_url": "",
      "post_date": "2020-12-30T21:49:34.593000",
      "content": "<p>Am a bit new to Code competitions. Are we allowed here to train models on our own personal GPUs without any time limits, and then just port the trained model into the notebooks when submitting the solutions (time limits apply during inference)? </p>",
      "votes": 1,
      "replies": [
        {
          "id": 1133052,
          "author_name": "raddar",
          "author_url": "",
          "post_date": "2020-12-30T22:10:24.773000",
          "content": "<p>This is correct. </p>\n<p>However, you also have to make sure that your code runs with no internet connection (so pip install from pypi repository is not an option).</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1133159,
          "author_name": "Vin Bhaskara",
          "author_url": "",
          "post_date": "2020-12-31T01:53:27.630000",
          "content": "<p>Thanks for clearing it up :)</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1128409,
      "author_name": "Y.Nakama",
      "author_url": "",
      "post_date": "2020-12-27T12:22:16.197000",
      "content": "<p>Thanks for hosting this competition!<br>\nI have a question. Pseudo labeling for test data is allowed?</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1130052,
          "author_name": "Julia Elliott",
          "author_url": "",
          "post_date": "2020-12-28T18:05:30.260000",
          "content": "<p>If pseudolabeling is fully automated, it is permitted. Hand-labeling of the test set is <strong>not (and never)</strong> permitted. </p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1130070,
          "author_name": "Y.Nakama",
          "author_url": "",
          "post_date": "2020-12-28T18:19:38.723000",
          "content": "<p>Thanks for clarification!</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1190209,
          "author_name": "TCalli",
          "author_url": "",
          "post_date": "2021-02-07T14:57:26.320000",
          "content": "<p>Hi,</p>\n<p>I want to use tfrec files but I searched a lot and cant find formats of tfrec files anywhere for this competition. Where can I find it?</p>\n<p>Thank you.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1221040,
      "author_name": "Chris Deotte",
      "author_url": "",
      "post_date": "2021-02-28T16:04:17.923000",
      "content": "<p>How large is the test dataset? On the leaderboard <a href=\"https://www.kaggle.com/c/ranzcr-clip-catheter-line-classification/leaderboard\" target=\"_blank\">here</a>, it says that the private dataset is 75% of test and public is 25% test. </p>\n<blockquote>\n  <p>This leaderboard is calculated with approximately 25% of the test data.<br>\n  The final results will be based on the other 75%, so the final standings may be different.</p>\n</blockquote>\n<p>On the data page <a href=\"https://www.kaggle.com/c/ranzcr-clip-catheter-line-classification/data\" target=\"_blank\">here</a>, it says the the private dataset is 4x larger than public which would make private 80% and public 20%. </p>\n<blockquote>\n  <p>You will need the train and test images. This is a code-only competition so there is a hidden test set (approximately 4x larger, with ~14k images) as well.</p>\n</blockquote>\n<p>The public test dataset is contained in <code>sample_submission.csv</code> and contains 3582 images. Either the private dataset is approximately 14k images and we have 80% 20% split. Or the private dataset is approximately 10.5k images and we have 75% 25%. <strong>Which is correct</strong>? Thanks</p>",
      "votes": 2,
      "replies": [
        {
          "id": 1222168,
          "author_name": "Psi",
          "author_url": "",
          "post_date": "2021-03-01T15:50:06.673000",
          "content": "<p>I am very sure that they mean the full hidden dataset as private dataset and the actual hidden private part is 3x as large the public part, so 25% and 75% should be correct. You can check your runtime, if it is roughly 4x as long as the commit, then the hidden part is 3x as large.</p>",
          "votes": 2,
          "replies": []
        }
      ]
    },
    {
      "id": 1217626,
      "author_name": "Meng Law",
      "author_url": "",
      "post_date": "2021-02-25T07:50:49.750000",
      "content": "<p>Dear Kagglers,</p>\n<p>With less than 2 weeks remaining, we have been extremely excited by the number of teams, level of engagement, enthusiasm and discussion for this challenge.<br>\nAs many of you have mentioned in the discussion, this is really 2 challenges in one. <a href=\"https://www.kaggle.com/Raddar\" target=\"_blank\">@Raddar</a> has also mentioned that one of the challenges in itself are the definitions. The organisers, made up of a team of data scientists, radiologists, physicians spent a considerable amount of time figuring out a clear set of definitions. This is crucial to ensure maximal inter-radiologist consistency in labelling, reduce labeling error and also why medically some patients may have an ETT and some a tracheostomy, some patients could have more than one CVC because of the different types of CVCs etc.</p>\n<p>We would encourage teams include a team member who is medical  or to have some medical consultation. This is so that you can truly understand the various medical scenarios requiring different lines and tubes and that a clear set of definitions is important in this challenge. We also tried to keep things less complicated by not including other lines and tubes, for example chest tubes placed for pneumothorax.</p>\n<p>Good luck with the rest of the challenge.</p>",
      "votes": 2,
      "replies": [
        {
          "id": 1217741,
          "author_name": "Mohammed Rizin V K",
          "author_url": "",
          "post_date": "2021-02-25T09:32:46.570000",
          "content": "<p>As in this <a href=\"https://www.kaggle.com/c/ranzcr-clip-catheter-line-classification/discussion/203367#1211296\" target=\"_blank\">discussion</a>, We would like to get our correct Public LB position by increasing Public LB score into 5 decimal places. Since A lot of the submissions have very similar LB scores in 3 decimal points. Please consider this<br>\nThanks</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1117458,
      "author_name": "Moshel",
      "author_url": "",
      "post_date": "2020-12-18T04:52:56.603000",
      "content": "<p>Thank you! This is not exactly what I asked. These are more about the rate of malpositioning. We usually compare our models to human baseline. The question is, if we give a radiologist all those x rays, what would be his score?<br>\nIf the images were double or triple checked, we can deduct this rate from the individual assessment compared to the final \"expert\" opinion. There was no information in the data description how the data was collected and reviewed…. <br>\nAnyways, just curiosity, it has nothing to do with the competition. </p>",
      "votes": 2,
      "replies": [
        {
          "id": 1117467,
          "author_name": "Meng Law",
          "author_url": "",
          "post_date": "2020-12-18T05:17:08.357000",
          "content": "<p>Yes, I realized I didn't answer the question, so I have been looking for literature to answer the question and have not found any. I think in part, that is because of the definition of optimal, suboptimal and incorrect placements of these lines and tubes was not clearly outlined for a paper answer this question</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1117494,
          "author_name": "Moshel",
          "author_url": "",
          "post_date": "2020-12-18T06:04:46.767000",
          "content": "<p>I see… Would you mind sharing how the data was assessed (single check? double check? triple check)? (it is superb, btw, as can be seen from the very high precision of the models even this early in the competition)</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1117496,
          "author_name": "Jen",
          "author_url": "",
          "post_date": "2020-12-18T06:13:11.470000",
          "content": "<p>Hi Moshel,</p>\n<p>Thanks for your participation. A large percentage of the dataset was double labelled and triple labelled. A further check at the end was also performed to ensure consistency of the labels. Good luck in the competition! </p>\n<p>Thanks,</p>\n<p>Jennifer </p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 1117522,
          "author_name": "Moshel",
          "author_url": "",
          "post_date": "2020-12-18T07:00:04.270000",
          "content": "<p>Thank you! If you have the full labeling records, we can probably calculate something from it. Perhaps after the competition so no data will leak. Well done on a terrific dataset! </p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1121695,
          "author_name": "Meng Law",
          "author_url": "",
          "post_date": "2020-12-21T20:26:47.167000",
          "content": "<p>Thank you Moshel for your kind words. We think that medically this is a real challenge in real life in everyday clinical practice even for doctors to accurately and quickly determine the location of these lines and tubes. This is a challenge in itself within a challenge.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1149122,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-01-11T15:50:48.697000",
          "content": "",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1149526,
          "author_name": "Meng Law",
          "author_url": "",
          "post_date": "2021-01-11T22:57:27.980000",
          "content": "<p><a href=\"https://www.kaggle.com/YiYuan\" target=\"_blank\">@YiYuan</a>, excellent point, that is indeed one way to check if the NGT is in the stomach and many centre do this. it is possible however (at some institutions and it has happened in ours), the NGT could be placed into the lungs and fluid  aspirated. This gives the wrong impression that the NGT is in the stomach. The patient was fed fluids etc incorrectly into the lungs instead of the stomach, resulting in pneumonia and then death. This is the reason why in many hospital including ours, the preference is to confirm the NGT is in the right position with an x-ray before feeding the patient.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1150103,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-01-12T11:25:46.900000",
          "content": "",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1150333,
          "author_name": "Scott Watson",
          "author_url": "",
          "post_date": "2021-01-12T14:18:11.867000",
          "content": "<blockquote>\n  <p>Another thing I was thinking that if it's feasible to split the dateset into three subsets (NGT set, CVC set and ETT set). So the machine just predict the abnormalities based on each own field while ignoring the other issues).</p>\n</blockquote>\n<p>I'm wondering the same thing.  I'm also a first timer though so I don't know. </p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1150540,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-01-12T16:48:25.823000",
          "content": "",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1116645,
      "author_name": "Moshel",
      "author_url": "",
      "post_date": "2020-12-17T11:08:01.890000",
      "content": "<p>Just out of curiosity… What is the radiologist accuracy in reading these x rays?</p>",
      "votes": 2,
      "replies": [
        {
          "id": 1117447,
          "author_name": "Meng Law",
          "author_url": "",
          "post_date": "2020-12-18T04:15:01.317000",
          "content": "<p>Good question Moshel, it happens not infrequently. In the literature this is what we found. Nasogastric tube malpositioning into the airways has been reported in up to 3% of cases, with up to 40% of these cases demonstrating complications [1-3]. Airway tube malposition in adult patients intubated outside the operating room is seen in up to 25% of cases [4,5].</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1117448,
          "author_name": "Meng Law",
          "author_url": "",
          "post_date": "2020-12-18T04:16:16.300000",
          "content": "<ol>\n<li>Koopmann MC, Kudsk KA, Szotkowski MJ, Rees SM. A Team-Based Protocol and Electromagnetic Technology Eliminate Feeding Tube Placement Complications [Internet]. Vol. 253, Annals of Surgery. 2011. p. 297–302. Available from: <a href=\"http://dx.doi.org/10.1097/sla.0b013e318208f550\" target=\"_blank\">http://dx.doi.org/10.1097/sla.0b013e318208f550</a></li>\n<li>Sorokin R, Gottlieb JE. Enhancing patient safety during feeding-tube insertion: a review of more than 2,000 insertions. JPEN J Parenter Enteral Nutr. 2006 Sep;30(5):440–5.</li>\n<li>Marderstein EL, Simmons RL, Ochoa JB. Patient safety: effect of institutional protocols on adverse events related to feeding tube placement in the critically ill. J Am Coll Surg. 2004 Jul;199(1):39–47; discussion 47–50.</li>\n<li>Jemmett ME. Unrecognized Misplacement of Endotracheal Tubes in a Mixed Urban to Rural Emergency Medical Services Setting [Internet]. Vol. 10, Academic Emergency Medicine. 2003. p. 961–5. Available from: <a href=\"http://dx.doi.org/10.1197/s1069-6563(03)00315-4\" target=\"_blank\">http://dx.doi.org/10.1197/s1069-6563(03)00315-4</a><br>\nLotano R, Gerber D, Aseron C, Santarelli R, Pratter M. Utility of postintubation chest radiographs in the intensive care unit. Crit Care. 2000 Jan 24;4(1):50–3.</li>\n</ol>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1771555,
      "author_name": "th3y3llowbird",
      "author_url": "",
      "post_date": "2022-04-29T10:43:40.727000",
      "content": "<p><a href=\"https://www.kaggle.com/menglaw\" target=\"_blank\">@menglaw</a> can the competitions data be used for academic/research purposes?</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1515632,
      "author_name": "EST",
      "author_url": "",
      "post_date": "2021-09-17T09:52:43.043000",
      "content": "<p>Hello,<br>\nI'm working on this dataset for 4 months , i tried to train a single model using tensorflow and i can't overpass \"accuracy 81%\" . i need strongly your helps to improve my training . my code is below.<br>\nThanks;)</p>\n<p>import matplotlib.pyplot as plt<br>\nimport numpy as np<br>\nimport os<br>\nimport tensorflow as tf<br>\nimport tensorflow.keras.layers as tfl<br>\nfrom tensorflow.keras.layers import Flatten ,Dense<br>\nfrom tensorflow.keras.preprocessing import image_dataset_from_directory<br>\nfrom tensorflow.keras.layers.experimental.preprocessing import RandomFlip,RandomZoom,Rescaling, RandomRotation,RandomCrop,RandomContrast,Normalization</p>\n<p>load data<br>\nimport pandas as pd<br>\ntrain_df = pd.read_csv('/home/admin/cnn/ranzcr-clip-catheter-line-classification/ranzcr-Original-data/train.csv')</p>\n<p>sample_df.shape<br>\ndef append_ext(fn):<br>\nreturn fn+\".jpg\"</p>\n<p>train_df[\"StudyInstanceUID\"]=train_df[\"StudyInstanceUID\"].apply(append_ext)</p>\n<p>BATCH_SIZE = 64<br>\nIMG_SIZE = (224, 224)<br>\nfrom tensorflow.keras.preprocessing.image import ImageDataGenerator<br>\nlabel=['ETT - Abnormal', 'ETT - Borderline',<br>\n'ETT - Normal', 'NGT - Abnormal', 'NGT - Borderline',<br>\n'NGT - Incompletely Imaged', 'NGT - Normal', 'CVC - Abnormal',<br>\n'CVC - Borderline', 'CVC - Normal', 'Swan Ganz Catheter Present']</p>\n<p>datagen=ImageDataGenerator(validation_split=0.15,</p>\n<p>rotation_range=rotation_range,<br>\nhorizontal_flip= True,<br>\nrescale=1./255.)</p>\n<p>train_dataset=datagen.flow_from_dataframe(<br>\ndataframe=train_df,<br>\ndirectory=\"/home/admin/cnn/ranzcr-clip-catheter-line-classification/ranzcr-Original-data/train/\",<br>\nx_col=\"StudyInstanceUID\",<br>\ny_col=label,</p>\n<p>subset=\"training\",<br>\nbatch_size=BATCH_SIZE,<br>\ncolor_mode='rgb',<br>\nlabels_mode ='binary',<br>\nclass_mode='raw',<br>\ntarget_size=IMG_SIZE,<br>\nshuffle=True,<br>\nseed=42,<br>\ninterpolation=\"bilinear\")</p>\n<p>validation_dataset=datagen.flow_from_dataframe(<br>\ndataframe=train_df,<br>\ndirectory=\"/home/admin/cnn/ranzcr-clip-catheter-line-classification/ranzcr-Original-data/train\",<br>\nx_col=\"StudyInstanceUID\",<br>\ny_col=label,<br>\nsubset=\"validation\",<br>\nbatch_size=BATCH_SIZE,<br>\ncolor_mode='rgb',<br>\nlabels_mode ='binary',<br>\nclass_mode='raw',<br>\ntarget_size=IMG_SIZE,<br>\nshuffle=True,<br>\nseed=42)</p>\n<p>def data_augmenter():<br>\n'''<br>\nCreate a Sequential model composed of 2 layers<br>\nReturns:<br>\ntf.keras.Sequential<br>\n'''</p>\n<p>START CODE HERE<br>\ndata_augmentation = tf.keras.Sequential()<br>\ndata_augmentation.add(RandomFlip('horizontal'))<br>\ndata_augmentation.add(RandomRotation(0.05))<br>\ndata_augmentation.add(RandomCrop(224,224))<br>\ndata_augmentation.add(RandomContrast(0.2))<br>\ndata_augmentation.add(Normalization())</p>\n<p>END CODE HERE<br>\nreturn data_augmentation<br>\ndata_augmentation = data_augmenter()</p>\n<p>preprocess_input = tf.keras.applications.mobilenet_v2.preprocess_input<br>\nfrom tensorflow.keras.applications.densenet import DenseNet121<br>\nIMG_SHAPE = IMG_SIZE + (3,)<br>\nbase_model = DenseNet121(weights = \"imagenet\", include_top=False, input_shape=IMG_SHAPE)</p>\n<p>nb_layers = len(base_model.layers)<br>\nprint(base_model.layers[nb_layers - 2].name)<br>\nprint(base_model.layers[nb_layers - 1].name)</p>\n<p>image_batch, label_batch = next(iter(train_dataset))<br>\nfeature_batch = base_model(image_batch)<br>\nprint(feature_batch.shape)</p>\n<p>base_model.trainable = False<br>\nimage_var = tf.Variable(image_batch)</p>\n<p>base_model.trainable = False<br>\nimage_var = tf.Variable(image_batch)<br>\npred = base_model(image_var)</p>\n<p>def My_model(image_shape=IMG_SIZE, data_augmentation=data_augmenter()):<br>\nfrom tensorflow.keras import Model, initializers, regularizers<br>\ninitializer1 = initializers.GlorotNormal()</p>\n<p>input_shape = image_shape + (3,)</p>\n<p>base_model = DenseNet121(weights = \"imagenet\", include_top=False, input_shape=IMG_SHAPE)</p>\n<p>base_model.trainable = base_model.trainable=False</p>\n<p>inputs = tf.keras.Input(shape=input_shape)</p>\n<p>x = data_augmenter()(inputs)</p>\n<p>x = base_model(inputs, training=False)</p>\n<p>x = Flatten()(x)<br>\nx = Dense(1024, kernel_initializer=initializer1 ,activation='relu')(x)<br>\nx = tfl.Dropout(0.4)(x)</p>\n<p>outputs = tfl.Dense(11,activation='sigmoid')(x)</p>\n<p>model = tf.keras.Model(inputs, outputs)</p>\n<p>return model<br>\nmodel2 = My_model(IMG_SIZE, data_augmentation)</p>\n<p>base_learning_rate = 0.001<br>\nmodel2.compile(loss='binary_crossentropy', optimizer= tf.keras.optimizers.Adam(lr=base_learning_rate),<br>\nmetrics=[tf.keras.metrics.AUC(name='auc',multi_label= True)])</p>\n<p>initial_learning_rate = 0.001<br>\ndef lr_exp_decay(epoch, lr):<br>\nk = 0.1<br>\nreturn initial_learning_rate * tf.math.exp(-k*epoch)</p>\n<p>initial_epochs = 25<br>\nhistory = model2.fit(train_dataset, epochs=initial_epochs , callbacks=[tf.keras.callbacks.LearningRateScheduler(lr_exp_decay, verbose=1)])</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1209991,
      "author_name": "Mohammed Rizin V K",
      "author_url": "",
      "post_date": "2021-02-19T06:27:53.917000",
      "content": "<p>Dear organizers, <a href=\"https://www.kaggle.com/menglaw\" target=\"_blank\">@menglaw</a><br>\nAre we allowed to use checpert dataset?</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1204375,
      "author_name": "KangkanPaul",
      "author_url": "",
      "post_date": "2021-02-16T05:13:01.013000",
      "content": "<p>Some images have been classified as CVC-Abnormal and CVC-Normal at the same time. Is it possible or some data cleaning is required. Similarly there are images which are CVC-Abnormal, CVC-Borderline and CVC-Normal at th same time.</p>",
      "votes": 0,
      "replies": [
        {
          "id": 1205547,
          "author_name": "quadcore/Richard Epstein",
          "author_url": "",
          "post_date": "2021-02-16T18:54:44.013000",
          "content": "<p>Images can have more than one CVC. So each CVC could have a different classification.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1201772,
      "author_name": "Anton Makarenko",
      "author_url": "",
      "post_date": "2021-02-15T16:40:10.133000",
      "content": "<p>Hi! Suddenly today I can not submit.<br>\n<a href=\"http://vfl.ru/fotos/c19569d433345936.html\" target=\"_blank\">http://vfl.ru/fotos/c19569d433345936.html</a></p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1189558,
      "author_name": "TCalli",
      "author_url": "",
      "post_date": "2021-02-07T05:41:03.623000",
      "content": "<p>Hi,</p>\n<p>I want to use tfrec files but I searched a lot and cant find formats of tfrec files anywhere for this competition. Where can I find it?</p>\n<p>Thank you.</p>",
      "votes": 0,
      "replies": [
        {
          "id": 1192017,
          "author_name": "Maggie",
          "author_url": "",
          "post_date": "2021-02-08T21:15:43.527000",
          "content": "<p>You can look under the data tab in the folders there. </p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1147618,
      "author_name": "Digvijay Yadav",
      "author_url": "",
      "post_date": "2021-01-10T15:59:47.063000",
      "content": "<p>Learning a lot from this competition</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1120070,
      "author_name": "Abdallah Abbas",
      "author_url": "",
      "post_date": "2020-12-20T15:09:26.993000",
      "content": "<p>Hi there! I was just wondering whether it is permissible to use an automated machine learning algorithm (e.g. Google AutoML Vision) to build the model? Thank you very much :)</p>",
      "votes": 0,
      "replies": [
        {
          "id": 1121567,
          "author_name": "Julia Elliott",
          "author_url": "",
          "post_date": "2020-12-21T18:32:02.250000",
          "content": "<p><a href=\"https://www.kaggle.com/abdallahabbas\" target=\"_blank\">@abdallahabbas</a> Automated machine learning algorithms are permitted and fall under the category of \"commercially available software…that can be procured by the Competition Sponsor without undue expense…\" -- Please review the <a href=\"https://www.kaggle.com/c/ranzcr-clip-catheter-line-classification/rules\" target=\"_blank\">competition's rules</a> carefully, specifically sections A1, A4, and Section 11, about the conditions under which such tools can be used.</p>",
          "votes": 2,
          "replies": []
        }
      ]
    },
    {
      "id": 1153834,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-01-15T07:26:22.623000",
      "content": "",
      "votes": 2,
      "replies": []
    },
    {
      "id": 1152297,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-01-14T02:48:23.133000",
      "content": "",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1112852": "Welcome to our RANZCR CliP Catheter and Line Position Challenge.\n\nThe placement of tubes and lines has always been important in critically ill patients. This past year it has become even more critical with our ICU and hospital beds around the world being filled to capacity. Respirators (via endotracheal tubes), central lines and nasogastric tubes are being inserted to keep patients alive. You could help save many lives around the world by developing and sharing your classification of the position of these lines and tubes on a chest x-ray.\nWe hope you will enjoy participating in this challenge over the Christmas and Holiday period and look forward to providing assistance and interacting with you over the next 3 months\n \nKaggle RANZCR CliP Challenge Team\n ",
    "1138150": "Hello, \n\nI would love to hear more about annotation process - I noticed big inconsistency when it comes to CVC and Swan-Ganz catheters.\n\nIt seems, that for cases where coordinate annotations are available (train_annotations.csv), `Swan-Ganz` catheter is not labelled as `CVC -Normal` - which makes sense.\n\nHowever, for cases where such annotations are unavailable, Swan-Ganz catheter is also labelled as `CVC -Normal`. I confirmed this at looking Swan-Ganz cases, and they were also labelled as `CVC - Normal`, although no CVC was visible. I suspect radiologists made errors treating Swan-Ganz as CVC, and these errors were corrected through coordinate annotation process?\n\nThis has significant impact to `CVC - Normal` AUC scoring, and brings uncertainty what is true and what is not. \n\nTherefore, I would like to ask @menglaw to clarify, which annotations (coordinates or not?) are used in leaderboard AUC calculations?\n\nThank you.\n",
    "1130165": "Dear organizers,\n\ncould you please check, if all instances in public/private LB have correct `ETT - Abnormal` labels. I accidently found one during my exploration in training set:\n\nhttps://www.kaggle.com/raddar/errors-in-ett-abnormal-labels\n\nAs this category has very little count, the effect of label errors could potentially have huge impact on final standings.",
    "1211296": "Dear organisers, kaggle team, @maggiemd \n\nMay we please consider showing the Public LB scores in 5 decimal points? A lot of the submissions have very similar LB scores in 3 decimal points- making it 4 or 5 decimal points (like the current results in rainforest competition: https://www.kaggle.com/c/rfcx-species-audio-detection/leaderboard) would be very helpful\n\nThanks!!",
    "1130690": "Can we use models pretrained on other public x-ray image datasets? (e.g. NIH) - CheXNet? \n\ne.g.\nhttps://www.kaggle.com/danofer/ranzcr-chexnet-starter\n[https://www.kaggle.com/danofer/ranzcr-chexnet-x-ray-transfer-learning-extractor](https://www.kaggle.com/danofer/ranzcr-chexnet-x-ray-transfer-learning-extractor)",
    "1150885": "Hello! \n\nI would like to ask about the mutual exclusivity of the class labels, as I think this information will be useful in thinking about how to approach the problem.\n\nI notice that an image could have class labels of CVC, NGT and ETT all in one. This makes sense. However, there are images where it is labeled \"CVC - Normal\" **and **\"CVC - Borderline.\"\n\nDoes this mean that it is possible for there to be more than 1 CVC for each patient? \n\nThank you in advance.",
    "1133042": "Am a bit new to Code competitions. Are we allowed here to train models on our own personal GPUs without any time limits, and then just port the trained model into the notebooks when submitting the solutions (time limits apply during inference)? ",
    "1128409": "Thanks for hosting this competition!\nI have a question. Pseudo labeling for test data is allowed?",
    "1221040": "How large is the test dataset? On the leaderboard [here][1], it says that the private dataset is 75% of test and public is 25% test. \n>This leaderboard is calculated with approximately 25% of the test data.\n>The final results will be based on the other 75%, so the final standings may be different.\n\nOn the data page [here][2], it says the the private dataset is 4x larger than public which would make private 80% and public 20%. \n>You will need the train and test images. This is a code-only competition so there is a hidden test set (approximately 4x larger, with ~14k images) as well.\n\nThe public test dataset is contained in `sample_submission.csv` and contains 3582 images. Either the private dataset is approximately 14k images and we have 80% 20% split. Or the private dataset is approximately 10.5k images and we have 75% 25%. **Which is correct**? Thanks\n\n[1]: https://www.kaggle.com/c/ranzcr-clip-catheter-line-classification/leaderboard\n[2]: https://www.kaggle.com/c/ranzcr-clip-catheter-line-classification/data",
    "1217626": "Dear Kagglers,\n\nWith less than 2 weeks remaining, we have been extremely excited by the number of teams, level of engagement, enthusiasm and discussion for this challenge.\nAs many of you have mentioned in the discussion, this is really 2 challenges in one. @Raddar has also mentioned that one of the challenges in itself are the definitions. The organisers, made up of a team of data scientists, radiologists, physicians spent a considerable amount of time figuring out a clear set of definitions. This is crucial to ensure maximal inter-radiologist consistency in labelling, reduce labeling error and also why medically some patients may have an ETT and some a tracheostomy, some patients could have more than one CVC because of the different types of CVCs etc.\n\nWe would encourage teams include a team member who is medical  or to have some medical consultation. This is so that you can truly understand the various medical scenarios requiring different lines and tubes and that a clear set of definitions is important in this challenge. We also tried to keep things less complicated by not including other lines and tubes, for example chest tubes placed for pneumothorax.\n\nGood luck with the rest of the challenge.",
    "1117458": "Thank you! This is not exactly what I asked. These are more about the rate of malpositioning. We usually compare our models to human baseline. The question is, if we give a radiologist all those x rays, what would be his score?\nIf the images were double or triple checked, we can deduct this rate from the individual assessment compared to the final \"expert\" opinion. There was no information in the data description how the data was collected and reviewed.... \nAnyways, just curiosity, it has nothing to do with the competition. ",
    "1116645": "Just out of curiosity... What is the radiologist accuracy in reading these x rays?",
    "1771555": "@menglaw can the competitions data be used for academic/research purposes?",
    "1515632": "Hello,\nI'm working on this dataset for 4 months , i tried to train a single model using tensorflow and i can't overpass \"accuracy 81%\" . i need strongly your helps to improve my training . my code is below.\nThanks;)\n\nimport matplotlib.pyplot as plt\nimport numpy as np\nimport os\nimport tensorflow as tf\nimport tensorflow.keras.layers as tfl\nfrom tensorflow.keras.layers import Flatten ,Dense\nfrom tensorflow.keras.preprocessing import image_dataset_from_directory\nfrom tensorflow.keras.layers.experimental.preprocessing import RandomFlip,RandomZoom,Rescaling, RandomRotation,RandomCrop,RandomContrast,Normalization\n\nload data\nimport pandas as pd\ntrain_df = pd.read_csv('/home/admin/cnn/ranzcr-clip-catheter-line-classification/ranzcr-Original-data/train.csv')\n\nsample_df.shape\ndef append_ext(fn):\nreturn fn+\".jpg\"\n\ntrain_df[\"StudyInstanceUID\"]=train_df[\"StudyInstanceUID\"].apply(append_ext)\n\nBATCH_SIZE = 64\nIMG_SIZE = (224, 224)\nfrom tensorflow.keras.preprocessing.image import ImageDataGenerator\nlabel=['ETT - Abnormal', 'ETT - Borderline',\n'ETT - Normal', 'NGT - Abnormal', 'NGT - Borderline',\n'NGT - Incompletely Imaged', 'NGT - Normal', 'CVC - Abnormal',\n'CVC - Borderline', 'CVC - Normal', 'Swan Ganz Catheter Present']\n\ndatagen=ImageDataGenerator(validation_split=0.15,\n\nrotation_range=rotation_range,\nhorizontal_flip= True,\nrescale=1./255.)\n\ntrain_dataset=datagen.flow_from_dataframe(\ndataframe=train_df,\ndirectory=\"/home/admin/cnn/ranzcr-clip-catheter-line-classification/ranzcr-Original-data/train/\",\nx_col=\"StudyInstanceUID\",\ny_col=label,\n\nsubset=\"training\",\nbatch_size=BATCH_SIZE,\ncolor_mode='rgb',\nlabels_mode ='binary',\nclass_mode='raw',\ntarget_size=IMG_SIZE,\nshuffle=True,\nseed=42,\ninterpolation=\"bilinear\")\n\nvalidation_dataset=datagen.flow_from_dataframe(\ndataframe=train_df,\ndirectory=\"/home/admin/cnn/ranzcr-clip-catheter-line-classification/ranzcr-Original-data/train\",\nx_col=\"StudyInstanceUID\",\ny_col=label,\nsubset=\"validation\",\nbatch_size=BATCH_SIZE,\ncolor_mode='rgb',\nlabels_mode ='binary',\nclass_mode='raw',\ntarget_size=IMG_SIZE,\nshuffle=True,\nseed=42)\n\ndef data_augmenter():\n'''\nCreate a Sequential model composed of 2 layers\nReturns:\ntf.keras.Sequential\n'''\n\nSTART CODE HERE\ndata_augmentation = tf.keras.Sequential()\ndata_augmentation.add(RandomFlip('horizontal'))\ndata_augmentation.add(RandomRotation(0.05))\ndata_augmentation.add(RandomCrop(224,224))\ndata_augmentation.add(RandomContrast(0.2))\ndata_augmentation.add(Normalization())\n\nEND CODE HERE\nreturn data_augmentation\ndata_augmentation = data_augmenter()\n\npreprocess_input = tf.keras.applications.mobilenet_v2.preprocess_input\nfrom tensorflow.keras.applications.densenet import DenseNet121\nIMG_SHAPE = IMG_SIZE + (3,)\nbase_model = DenseNet121(weights = \"imagenet\", include_top=False, input_shape=IMG_SHAPE)\n\nnb_layers = len(base_model.layers)\nprint(base_model.layers[nb_layers - 2].name)\nprint(base_model.layers[nb_layers - 1].name)\n\nimage_batch, label_batch = next(iter(train_dataset))\nfeature_batch = base_model(image_batch)\nprint(feature_batch.shape)\n\nbase_model.trainable = False\nimage_var = tf.Variable(image_batch)\n\nbase_model.trainable = False\nimage_var = tf.Variable(image_batch)\npred = base_model(image_var)\n\ndef My_model(image_shape=IMG_SIZE, data_augmentation=data_augmenter()):\nfrom tensorflow.keras import Model, initializers, regularizers\ninitializer1 = initializers.GlorotNormal()\n\ninput_shape = image_shape + (3,)\n\nbase_model = DenseNet121(weights = \"imagenet\", include_top=False, input_shape=IMG_SHAPE)\n\nbase_model.trainable = base_model.trainable=False\n\ninputs = tf.keras.Input(shape=input_shape)\n\nx = data_augmenter()(inputs)\n\nx = base_model(inputs, training=False)\n\nx = Flatten()(x)\nx = Dense(1024, kernel_initializer=initializer1 ,activation='relu')(x)\nx = tfl.Dropout(0.4)(x)\n\noutputs = tfl.Dense(11,activation='sigmoid')(x)\n\nmodel = tf.keras.Model(inputs, outputs)\n\nreturn model\nmodel2 = My_model(IMG_SIZE, data_augmentation)\n\nbase_learning_rate = 0.001\nmodel2.compile(loss='binary_crossentropy', optimizer= tf.keras.optimizers.Adam(lr=base_learning_rate),\nmetrics=[tf.keras.metrics.AUC(name='auc',multi_label= True)])\n\ninitial_learning_rate = 0.001\ndef lr_exp_decay(epoch, lr):\nk = 0.1\nreturn initial_learning_rate * tf.math.exp(-k*epoch)\n\ninitial_epochs = 25\nhistory = model2.fit(train_dataset, epochs=initial_epochs , callbacks=[tf.keras.callbacks.LearningRateScheduler(lr_exp_decay, verbose=1)])",
    "1209991": "Dear organizers, @menglaw\nAre we allowed to use checpert dataset?",
    "1204375": "Some images have been classified as CVC-Abnormal and CVC-Normal at the same time. Is it possible or some data cleaning is required. Similarly there are images which are CVC-Abnormal, CVC-Borderline and CVC-Normal at th same time.",
    "1201772": "Hi! Suddenly today I can not submit.\nhttp://vfl.ru/fotos/c19569d433345936.html",
    "1189558": "Hi,\n\nI want to use tfrec files but I searched a lot and cant find formats of tfrec files anywhere for this competition. Where can I find it?\n\nThank you.",
    "1147618": "Learning a lot from this competition",
    "1120070": "Hi there! I was just wondering whether it is permissible to use an automated machine learning algorithm (e.g. Google AutoML Vision) to build the model? Thank you very much :)",
    "1153834": "",
    "1152297": ""
  }
}