{
  "id": 612729,
  "title": "Welcome to the PhysioNet-Kaggle ECG Digitization Challenge! ",
  "url": "/competitions/physionet-ecg-image-digitization/discussion/612729",
  "author_name": "GDClifford",
  "post_date": "2025-10-21T18:30:56.360000",
  "votes": 24,
  "comment_count": 38,
  "views": 0,
  "content": "<p>As part of the PhysioNet Resource, we host the annual <a href=\"https://physionetchallenges.org/\" target=\"_blank\">George B. Moody PhysioNet Challenges</a>, a series of annual events that challenge the scientific community to address unsolved problems in biomedical data science. </p>\n<p>This new competition, co-hosted by Kaggle and the PhysioNet Challenge team, builds upon the <a href=\"https://moody-challenge.physionet.org/2024/\" target=\"_blank\">PhysioNet Challenge 2024 on ECG digitization and classification</a>, in which we provide a challenging set of images of real ECG printouts that we created with various realistic physical and imaging artifacts. The ECG measures the electrical activity of the heart over time, and ECG printouts have provided a convenient way for clinicians to identify cardiac abnormalities for decades. However, ECG signals, which are confined to paper, have limited utility – and, consequently, limited potential for AI.</p>\n<p>This competition challenges teams to recover the ECG signal (the series of samples for each of the 12 leads) from the ECG images. It provides the opportunity to solve a real-world problem of digitizing the billions of legacy medical data printouts around the world, making them suitable for further use, such as diagnosis or tracking changes over time.</p>\n<p>Please feel free to ask your questions in this thread.</p>\n<p>Good luck!</p>\n<p>Matt, Reza, and Gari</p>",
  "messages": [
    {
      "id": 3304984,
      "postDate": "2025-10-21T18:30:56.360Z",
      "content": "<p>As part of the PhysioNet Resource, we host the annual <a href=\"https://physionetchallenges.org/\" target=\"_blank\">George B. Moody PhysioNet Challenges</a>, a series of annual events that challenge the scientific community to address unsolved problems in biomedical data science. </p>\n<p>This new competition, co-hosted by Kaggle and the PhysioNet Challenge team, builds upon the <a href=\"https://moody-challenge.physionet.org/2024/\" target=\"_blank\">PhysioNet Challenge 2024 on ECG digitization and classification</a>, in which we provide a challenging set of images of real ECG printouts that we created with various realistic physical and imaging artifacts. The ECG measures the electrical activity of the heart over time, and ECG printouts have provided a convenient way for clinicians to identify cardiac abnormalities for decades. However, ECG signals, which are confined to paper, have limited utility – and, consequently, limited potential for AI.</p>\n<p>This competition challenges teams to recover the ECG signal (the series of samples for each of the 12 leads) from the ECG images. It provides the opportunity to solve a real-world problem of digitizing the billions of legacy medical data printouts around the world, making them suitable for further use, such as diagnosis or tracking changes over time.</p>\n<p>Please feel free to ask your questions in this thread.</p>\n<p>Good luck!</p>\n<p>Matt, Reza, and Gari</p>",
      "rawMarkdown": "As part of the PhysioNet Resource, we host the annual [George B. Moody PhysioNet Challenges](https://physionetchallenges.org/), a series of annual events that challenge the scientific community to address unsolved problems in biomedical data science. \n\nThis new competition, co-hosted by Kaggle and the PhysioNet Challenge team, builds upon the [PhysioNet Challenge 2024 on ECG digitization and classification](https://moody-challenge.physionet.org/2024/), in which we provide a challenging set of images of real ECG printouts that we created with various realistic physical and imaging artifacts. The ECG measures the electrical activity of the heart over time, and ECG printouts have provided a convenient way for clinicians to identify cardiac abnormalities for decades. However, ECG signals, which are confined to paper, have limited utility – and, consequently, limited potential for AI.\n\nThis competition challenges teams to recover the ECG signal (the series of samples for each of the 12 leads) from the ECG images. It provides the opportunity to solve a real-world problem of digitizing the billions of legacy medical data printouts around the world, making them suitable for further use, such as diagnosis or tracking changes over time.\n\nPlease feel free to ask your questions in this thread.\n\nGood luck!\n\nMatt, Reza, and Gari",
      "votes": 23
    },
    {
      "id": 3305085,
      "postDate": "2025-10-22T01:21:17.073Z",
      "content": "<p>If anyone is unfamilar with the ECG, there's a primer <a href=\"https://drive.google.com/file/d/1wJ18-9M6ZQRD_IP1J8Elq3vEGHvoUii0/view\" target=\"_blank\">here</a> - See chapter 1. There are lots of other good texts out there that explain the ECG, but much of it may not matter for this challenge. Some key things to think about are: 1. Make sure the amplitude relative to the standard vertical background grid is preserved; 2. Make sure the timing of the turning points in the ECG relative to the horizontal background grid are preserved; 3. Small shifts that preserve amplitude and timing with respect to the individual waveform are preserved; 4. There is a relationship between the 12 leads, since they are spatially oversampling a three-dimensional object; 5. However, the heart rotates and translates with respect to the recording electrodes as you breathe, so it's a non-trivial relationship and lead reconstruction algorithms like the inverse Dower Transform don't work particularly well (although they might help somewhat with missing information in a given lead that might be slightly obscured by artifacts). </p>",
      "rawMarkdown": "If anyone is unfamilar with the ECG, there's a primer [here](https://drive.google.com/file/d/1wJ18-9M6ZQRD_IP1J8Elq3vEGHvoUii0/view) - See chapter 1. There are lots of other good texts out there that explain the ECG, but much of it may not matter for this challenge. Some key things to think about are: 1. Make sure the amplitude relative to the standard vertical background grid is preserved; 2. Make sure the timing of the turning points in the ECG relative to the horizontal background grid are preserved; 3. Small shifts that preserve amplitude and timing with respect to the individual waveform are preserved; 4. There is a relationship between the 12 leads, since they are spatially oversampling a three-dimensional object; 5. However, the heart rotates and translates with respect to the recording electrodes as you breathe, so it's a non-trivial relationship and lead reconstruction algorithms like the inverse Dower Transform don't work particularly well (although they might help somewhat with missing information in a given lead that might be slightly obscured by artifacts). ",
      "votes": 4,
      "replies": [
        {
          "id": 3310932,
          "postDate": "2025-11-03T23:45:58.630Z",
          "content": "<p>Thanks, but as a beginner in ECG myself, can you simplify the points you made…?</p>\n<p>To me, it sounds like 'just preserving the aspect ratio of the images or cropped images is the point'. Have I interpreted right?</p>",
          "rawMarkdown": "Thanks, but as a beginner in ECG myself, can you simplify the points you made...?\n\nTo me, it sounds like 'just preserving the aspect ratio of the images or cropped images is the point'. Have I interpreted right?",
          "replies": [
            {
              "id": 3311010,
              "postDate": "2025-11-04T03:20:02.613Z",
              "content": "<p>You don't have to preserve the aspect ratio. The pink grid is your reference, i.e. voltage vertically and time horizontally: </p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F363811%2F9b98d4231684ae4dbd653049666dab06%2Fecg-3.png?generation=1762226380665225&amp;alt=media\" alt=\"\"></p>\n<p>You can recover the waveform from a distorted grid by bilinear interpolation or other method. The calibration pulse at the left of each waveform shows the vertical location of 0 mV level.</p>",
              "rawMarkdown": "You don't have to preserve the aspect ratio. The pink grid is your reference, i.e. voltage vertically and time horizontally: \n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F363811%2F9b98d4231684ae4dbd653049666dab06%2Fecg-3.png?generation=1762226380665225&alt=media)\n\nYou can recover the waveform from a distorted grid by bilinear interpolation or other method. The calibration pulse at the left of each waveform shows the vertical location of 0 mV level."
            },
            {
              "id": 3311039,
              "postDate": "2025-11-04T04:47:04.500Z",
              "content": "<p>Thanks Paul. </p>\n<p>But, if so, what are the meaning of points from 1) to 3) made in the host's comment?</p>",
              "rawMarkdown": "Thanks Paul. \n\nBut, if so, what are the meaning of points from 1) to 3) made in the host's comment?"
            },
            {
              "id": 3311047,
              "postDate": "2025-11-04T05:25:40.563Z",
              "content": "<p>1) Means that amplitude (voltage) is relative to the size of grid unit square containing a given fragment of the waveform.</p>\n<p>3) Not sure if this is any different from #1.</p>",
              "rawMarkdown": "1) Means that amplitude (voltage) is relative to the size of grid unit square containing a given fragment of the waveform.\n\n3) Not sure if this is any different from #1."
            }
          ]
        },
        {
          "id": 3364060,
          "postDate": "2025-12-06T08:58:06.737Z",
          "content": "<p>Heyy looking over the problem statement I am a beginner though I have made projects in the field of MedTech but they were GenAI projects and this particular project has a wider social cause so what would you suggest me as beginner how shall i start with this problem statement kindly explain I will be grateful.</p>",
          "rawMarkdown": "Heyy looking over the problem statement I am a beginner though I have made projects in the field of MedTech but they were GenAI projects and this particular project has a wider social cause so what would you suggest me as beginner how shall i start with this problem statement kindly explain I will be grateful."
        }
      ]
    },
    {
      "id": 3307329,
      "postDate": "2025-10-26T17:37:57.583Z",
      "content": "<p>In the training set, there are 9 types of augmented images for each ID: 0001, 0003, 4, 5, 6, 9, 10, 11 and 12. And the two test examples are of type 0001 for both images.</p>\n<p>Can we expect the public/private test to have a uniform distribution of the 9 augmentation types? Or is the test assembled using only type 1 like the two examples? Or was the test even constructed using augmented samples not present in the training set, such as types 2, 7, 8?</p>\n<p>Could you clarify? thanks</p>",
      "rawMarkdown": "In the training set, there are 9 types of augmented images for each ID: 0001, 0003, 4, 5, 6, 9, 10, 11 and 12. And the two test examples are of type 0001 for both images.\n\nCan we expect the public/private test to have a uniform distribution of the 9 augmentation types? Or is the test assembled using only type 1 like the two examples? Or was the test even constructed using augmented samples not present in the training set, such as types 2, 7, 8?\n\nCould you clarify? thanks",
      "votes": 1,
      "replies": [
        {
          "id": 3307433,
          "postDate": "2025-10-27T01:14:49.763Z",
          "content": "<p><a href=\"https://www.kaggle.com/competitions/physionet-ecg-image-digitization/discussion/612845\" target=\"_blank\">yes</a></p>",
          "rawMarkdown": "[yes](https://www.kaggle.com/competitions/physionet-ecg-image-digitization/discussion/612845)"
        },
        {
          "id": 3307785,
          "postDate": "2025-10-27T19:39:23.753Z",
          "content": "<p>This is a difficult question to answer, but thanks for posing it. We can state that all the data were generated using the same (non-synthetic) process (+/- some human variation in printing, scanning, and adding artifacts), and selected at random into the three sets (public and private (the 20:80 split for the leaderboard)).  As a result, there are lots of visual similarities between the training and test data (both that used for the leaderboard and that used for the final score) but we can’t say they are ‘drawn from the same distribution’ or that the distribution is 'uniform' since that depends on what distribution/features you choose to measure and what statistical test you use to measure a meaningful difference in distributions. Therefore, we did not test the null hypotheses that any specific features were different between the distributions. We believe this is fine, because in reality, you always encounter samples that are out of the distribution of your training data, and it's part of the real-world challenge for you to think about ways to deal with this. This means that it may be really helpful if you build in some logic, rules and domain knowledge. We’ve provided lots of information in the comments to help you think of some ways to do this.</p>",
          "rawMarkdown": "This is a difficult question to answer, but thanks for posing it. We can state that all the data were generated using the same (non-synthetic) process (+/- some human variation in printing, scanning, and adding artifacts), and selected at random into the three sets (public and private (the 20:80 split for the leaderboard)).  As a result, there are lots of visual similarities between the training and test data (both that used for the leaderboard and that used for the final score) but we can’t say they are ‘drawn from the same distribution’ or that the distribution is 'uniform' since that depends on what distribution/features you choose to measure and what statistical test you use to measure a meaningful difference in distributions. Therefore, we did not test the null hypotheses that any specific features were different between the distributions. We believe this is fine, because in reality, you always encounter samples that are out of the distribution of your training data, and it's part of the real-world challenge for you to think about ways to deal with this. This means that it may be really helpful if you build in some logic, rules and domain knowledge. We’ve provided lots of information in the comments to help you think of some ways to do this.",
          "votes": 4,
          "replies": [
            {
              "id": 3307931,
              "postDate": "2025-10-28T06:15:46.663Z",
              "content": "<p>Does it mean that types 2, 7 and 8 are not present in the private test?</p>",
              "rawMarkdown": "Does it mean that types 2, 7 and 8 are not present in the private test?"
            },
            {
              "id": 3308117,
              "postDate": "2025-10-28T15:57:46.433Z",
              "content": "<p>We aren't going to provide any more information about the composition of the test data.</p>",
              "rawMarkdown": "We aren't going to provide any more information about the composition of the test data.",
              "votes": 2
            },
            {
              "id": 3308119,
              "postDate": "2025-10-28T16:08:15.850Z",
              "content": "<p>Randomness is also a kind of pattern.\nAbsence of information is still information.</p>",
              "rawMarkdown": "Randomness is also a kind of pattern.\nAbsence of information is still information.",
              "votes": 2
            },
            {
              "id": 3382086,
              "postDate": "2025-12-26T13:01:49.143Z",
              "content": "<p>Hi, I liked your comment and made this <img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F25502179%2F6572898ca4ea9eb1ac54ebc795e9047b%2FGreen%20Daily%20Motivation%20Quotes%20Instagram%20Post.jpg?generation=1766754082508709&amp;alt=media\" alt=\"\"></p>",
              "rawMarkdown": "Hi, I liked your comment and made this ![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F25502179%2F6572898ca4ea9eb1ac54ebc795e9047b%2FGreen%20Daily%20Motivation%20Quotes%20Instagram%20Post.jpg?generation=1766754082508709&alt=media)",
              "votes": -1
            }
          ]
        }
      ]
    },
    {
      "id": 3305055,
      "postDate": "2025-10-21T23:21:28.113Z",
      "content": "<p>It looks similar to one of the previous competitions related to education. I remember we had to extract the chart plot and then predict information from it.</p>",
      "rawMarkdown": "It looks similar to one of the previous competitions related to education. I remember we had to extract the chart plot and then predict information from it.",
      "votes": 2
    },
    {
      "id": 3305038,
      "postDate": "2025-10-21T22:19:24.403Z",
      "content": "<p>Thanks for hosting this competition <a href=\"https://www.kaggle.com/gdclifford\" target=\"_blank\">@gdclifford</a>, looks quite interesting. </p>\n<p>Could you share some info on how the data was generated or acquired? If it was with the <a href=\"https://github.com/alphanumericslab/ecg-image-kit\" target=\"_blank\">ECG-Image-Kit</a>, is there a reason for not including localization information (bounding boxes, keypoints, etc)?</p>",
      "rawMarkdown": "Thanks for hosting this competition @gdclifford, looks quite interesting. \n\nCould you share some info on how the data was generated or acquired? If it was with the [ECG-Image-Kit](https://github.com/alphanumericslab/ecg-image-kit), is there a reason for not including localization information (bounding boxes, keypoints, etc)?",
      "votes": 2,
      "replies": [
        {
          "id": 3305093,
          "postDate": "2025-10-22T02:16:22.690Z",
          "content": "<p>The original ECGs were all recorded using standard medical hardware systems from a variety of individuals, some healthy, some not. Eight electrodes are placed in standard positions on the torso. Each of the 12 ECG leads (labelled V1-6, AVL, lead II, etc.) are really the potential difference measured in millivolts between the electrode at that point on the torso and another electrode, or a reference point.  More details on this system can be found <a href=\"https://drive.google.com/file/d/1wJ18-9M6ZQRD_IP1J8Elq3vEGHvoUii0/view\" target=\"_blank\">here</a> - See chapter 1 for key information. The standard electrode configuration is called a 12-lead system, but really there are fewer independent leads, and some are (mostly) redundant. Since the heart is three-dimensional, there is some degree of redundancy, which can help when some leads are corrupted by artifacts. </p>\n<p>We used <a href=\"https://github.com/alphanumericslab/ecg-image-kit\" target=\"_blank\">ECG-Image-Kit</a> to plot the real ECG waveforms on standard ECG grids (used by physicians). Then we printed them on paper and exposed them to real world artifacts (wrinkles, soaking, stains, etc.). We next scanned and photographed the printouts in color and black and white. So the plots – and all the wrinkles, shadows, stains, and other distortions and artifacts – are real. </p>\n<p>Specifically, we generated the ECG images from plots of the real ECG signals in different ways:</p>\n<ul>\n<li>We generated images of the plots directly from the source ECG time series.</li>\n<li>We printed the plots to paper, and scanned them in color.</li>\n<li>We printed the plots and scanned them in greyscale.</li>\n<li>We printed the plots and photographed them with different mobile phone brands at varying resolutions.</li>\n<li>We printed the plots, “spilled” a drink on them, and photographed them with mobile phones.</li>\n<li>We printed the plots, “spilled” a drink on them, let mold grow on them, and scanned them in color.</li>\n<li>We printed the plots, “spilled” a drink on them, let mold grow on them, and scanned them in greyscale.</li>\n<li>We printed the plots, “spilled” a drink on them, let mold grow on them, and photographed them with mobile phones.</li>\n<li>We displayed the plots on a computer monitor and photographed them with mobile phones.</li>\n</ul>\n<p>ECG-Image-Kit can also generate ECG images with synthetic distortions and artifacts and localization information, including bounding boxes, and you are welcome (and in fact encouraged) to use it to generate synthetic training data in addition to the provided real training data, but the locations of the elements in the plots will change, of course, when actually printed, plotted, and scanned.</p>\n<p>Please see <a href=\"https://github.com/alphanumericslab/ecg-image-kit\" target=\"_blank\">ECG-Image-Kit</a> and ECG-Image-Database description along with <a href=\"http://physionetchallenge.org/2024\" target=\"_blank\">last year’s PhysioNet Challenge</a> and the following articles for more information and many of the gritty details:<br>\nShivashankara KK, Deepanshi, Shervedani AM, Reyna MA, Clifford GD, Sameni R. ECG-Image-Kit: a synthetic image generation toolbox to facilitate deep learning-based electrocardiogram digitization. Physiological Measurement 2024; 45:055019. <a href=\"https://doi.org/10.1088/1361-6579/ad4954\" target=\"_blank\">DOI: 10.1088/1361-6579/ad4954</a><br>\nReyna MA, Deepanshi, Weigle J, Koscova Z, Campbell K, Shivashankara KK, Saghafi S, Nikookar S, Motie-Shirazi M, Kiarashi Y, Seyedi S, Hassannia M, Bjørnstad AM, Stenhede E, Ranjbar A, Clifford GD, and Sameni R. ECG-Image-Database: A dataset of ECG images with real-world imaging and scanning artifacts; a foundation for computerized ECG image digitization and analysis, 2024. <a href=\"https://doi.org/10.48550/arXiv.2409.16612\" target=\"_blank\">DOI: 10.48550/arXiv.2409.16612</a><br>\nReyna MA, Deepanshi, Weigle J, Koscova Z, Campbell K, Seyedi S, Elola A, Bahrami Rad A, Shah AJ, Bhatia NK, Clifford GD, Sameni R. <a href=\"https://moody-challenge.physionet.org/2024/papers/cinc_paper.pdf\" target=\"_blank\">Digitization and Classification of ECG Images: The George B. Moody PhysioNet Challenge 2024</a>; Computing in Cardiology 2024; 51: 1-4.</p>",
          "rawMarkdown": "The original ECGs were all recorded using standard medical hardware systems from a variety of individuals, some healthy, some not. Eight electrodes are placed in standard positions on the torso. Each of the 12 ECG leads (labelled V1-6, AVL, lead II, etc.) are really the potential difference measured in millivolts between the electrode at that point on the torso and another electrode, or a reference point.  More details on this system can be found [here](https://drive.google.com/file/d/1wJ18-9M6ZQRD_IP1J8Elq3vEGHvoUii0/view) - See chapter 1 for key information. The standard electrode configuration is called a 12-lead system, but really there are fewer independent leads, and some are (mostly) redundant. Since the heart is three-dimensional, there is some degree of redundancy, which can help when some leads are corrupted by artifacts. \n\nWe used [ECG-Image-Kit](https://github.com/alphanumericslab/ecg-image-kit) to plot the real ECG waveforms on standard ECG grids (used by physicians). Then we printed them on paper and exposed them to real world artifacts (wrinkles, soaking, stains, etc.). We next scanned and photographed the printouts in color and black and white. So the plots – and all the wrinkles, shadows, stains, and other distortions and artifacts – are real. \n\nSpecifically, we generated the ECG images from plots of the real ECG signals in different ways:\n- We generated images of the plots directly from the source ECG time series.\n- We printed the plots to paper, and scanned them in color.\n- We printed the plots and scanned them in greyscale.\n- We printed the plots and photographed them with different mobile phone brands at varying resolutions.\n- We printed the plots, “spilled” a drink on them, and photographed them with mobile phones.\n- We printed the plots, “spilled” a drink on them, let mold grow on them, and scanned them in color.\n- We printed the plots, “spilled” a drink on them, let mold grow on them, and scanned them in greyscale.\n- We printed the plots, “spilled” a drink on them, let mold grow on them, and photographed them with mobile phones.\n- We displayed the plots on a computer monitor and photographed them with mobile phones.\n\nECG-Image-Kit can also generate ECG images with synthetic distortions and artifacts and localization information, including bounding boxes, and you are welcome (and in fact encouraged) to use it to generate synthetic training data in addition to the provided real training data, but the locations of the elements in the plots will change, of course, when actually printed, plotted, and scanned.\n\nPlease see [ECG-Image-Kit](https://github.com/alphanumericslab/ecg-image-kit) and ECG-Image-Database description along with [last year’s PhysioNet Challenge](http://physionetchallenge.org/2024) and the following articles for more information and many of the gritty details:\nShivashankara KK, Deepanshi, Shervedani AM, Reyna MA, Clifford GD, Sameni R. ECG-Image-Kit: a synthetic image generation toolbox to facilitate deep learning-based electrocardiogram digitization. Physiological Measurement 2024; 45:055019. [DOI: 10.1088/1361-6579/ad4954](https://doi.org/10.1088/1361-6579/ad4954)\nReyna MA, Deepanshi, Weigle J, Koscova Z, Campbell K, Shivashankara KK, Saghafi S, Nikookar S, Motie-Shirazi M, Kiarashi Y, Seyedi S, Hassannia M, Bjørnstad AM, Stenhede E, Ranjbar A, Clifford GD, and Sameni R. ECG-Image-Database: A dataset of ECG images with real-world imaging and scanning artifacts; a foundation for computerized ECG image digitization and analysis, 2024. [DOI: 10.48550/arXiv.2409.16612](https://doi.org/10.48550/arXiv.2409.16612)\nReyna MA, Deepanshi, Weigle J, Koscova Z, Campbell K, Seyedi S, Elola A, Bahrami Rad A, Shah AJ, Bhatia NK, Clifford GD, Sameni R. [Digitization and Classification of ECG Images: The George B. Moody PhysioNet Challenge 2024](https://moody-challenge.physionet.org/2024/papers/cinc_paper.pdf); Computing in Cardiology 2024; 51: 1-4.\n",
          "votes": 10,
          "replies": [
            {
              "id": 3305102,
              "postDate": "2025-10-22T03:04:29.247Z",
              "content": "<p>Great, thanks so much!</p>",
              "rawMarkdown": "Great, thanks so much!"
            }
          ]
        },
        {
          "id": 3305681,
          "postDate": "2025-10-23T08:32:52.490Z",
          "content": "<p>Can you specify the type of drink you spilled?<br>\nI have no plans to reproduce the data generation process because I do not like to have mold in my room, but out of curiosity.</p>",
          "rawMarkdown": "Can you specify the type of drink you spilled?\nI have no plans to reproduce the data generation process because I do not like to have mold in my room, but out of curiosity.",
          "votes": 1,
          "replies": [
            {
              "id": 3305771,
              "postDate": "2025-10-23T12:45:36.997Z",
              "content": "<p>Sure. Please read the section on \"Physically distorted variants of the ECG images\" of the <a href=\"https://doi.org/10.48550/arXiv.2409.16612\" target=\"_blank\">ECG-Image-Database</a> preprint.</p>",
              "rawMarkdown": "Sure. Please read the section on \"Physically distorted variants of the ECG images\" of the [ECG-Image-Database](https://doi.org/10.48550/arXiv.2409.16612) preprint.",
              "votes": 1
            },
            {
              "id": 3306056,
              "postDate": "2025-10-24T00:23:48.593Z",
              "content": "<p>Thank you for the details!<br>\nGood thing I have both coffee and soy sauce at my house, the only thing I don't have is a printer and some mold.</p>",
              "rawMarkdown": "Thank you for the details!\nGood thing I have both coffee and soy sauce at my house, the only thing I don't have is a printer and some mold.",
              "votes": 1
            }
          ]
        }
      ]
    },
    {
      "id": 3305158,
      "postDate": "2025-10-22T06:35:52.833Z",
      "content": "<p>If all the images contain a coordinate grid, then isn’t it easy to recognize and extract the signal from them?<br>\nIt would be more interesting to predict things like gender, age, issues, anomalies, and so on.</p>",
      "rawMarkdown": "If all the images contain a coordinate grid, then isn’t it easy to recognize and extract the signal from them?\nIt would be more interesting to predict things like gender, age, issues, anomalies, and so on.\n",
      "votes": -2,
      "replies": [
        {
          "id": 3305288,
          "postDate": "2025-10-22T12:42:45.117Z",
          "content": "<p>Using the grid is indeed a good step toward the solution; but even with the grid, it's still far from an easy challenge. Review the state of the art and the references we've shared; the performance bars are quite high for clinically acceptable ECG quality. The problem has remained an open challenge for decades.</p>",
          "rawMarkdown": "Using the grid is indeed a good step toward the solution; but even with the grid, it's still far from an easy challenge. Review the state of the art and the references we've shared; the performance bars are quite high for clinically acceptable ECG quality. The problem has remained an open challenge for decades.",
          "votes": 4
        }
      ]
    },
    {
      "id": 3392330,
      "postDate": "2026-01-16T17:56:37.733Z",
      "content": "<p>Difference between training/validation and test data distribution:\nThe test data distribution appears to be significantly different from the training data. On my validation set—consisting of images from patient IDs that were not seen during training—my model achieves an SNR of approximately 22 dB. However, on the test set, the SNR drops sharply to around 5 dB, indicating a substantial domain shift between the validation and test data.</p>",
      "rawMarkdown": "Difference between training/validation and test data distribution:\nThe test data distribution appears to be significantly different from the training data. On my validation set—consisting of images from patient IDs that were not seen during training—my model achieves an SNR of approximately 22 dB. However, on the test set, the SNR drops sharply to around 5 dB, indicating a substantial domain shift between the validation and test data.",
      "replies": [
        {
          "id": 3393559,
          "postDate": "2026-01-19T10:07:41.113Z",
          "content": "<p>that's interesting, do you think that gap raise from the segmentation model or the image normalization step that you do? it seems not the case for me to have that big difference, if i can ask, how did you train your model on training set? </p>",
          "rawMarkdown": "that's interesting, do you think that gap raise from the segmentation model or the image normalization step that you do? it seems not the case for me to have that big difference, if i can ask, how did you train your model on training set? "
        }
      ]
    },
    {
      "id": 3312039,
      "postDate": "2025-11-06T09:24:47.733Z",
      "content": "<p>correct me if my understanding is wrong.\nour goal is to figure out the wave of 12 leads of given ECG image.\nand generate a csv file like the train/[id]/[id].csv </p>\n<p>and the generated csv file is valueable for the doctors.</p>",
      "rawMarkdown": "correct me if my understanding is wrong.\nour goal is to figure out the wave of 12 leads of given ECG image.\nand generate a csv file like the train/[id]/[id].csv \n\nand the generated csv file is valueable for the doctors.\n"
    },
    {
      "id": 3311031,
      "postDate": "2025-11-04T04:30:56.963Z",
      "content": "<p>Good day Host. This will be my first time to join Kaggle as I am interested in ECG Image analysis. I usually do structure data analysis and modelling. Is there any \"keywords\" for training i can source with? </p>",
      "rawMarkdown": "Good day Host. This will be my first time to join Kaggle as I am interested in ECG Image analysis. I usually do structure data analysis and modelling. Is there any \"keywords\" for training i can source with? "
    },
    {
      "id": 3309937,
      "postDate": "2025-11-01T18:26:46.483Z",
      "content": "<p>May I ask if the layout of the twelve leads in the images of the test set and the training set is consistent, because the scanning layout of different hospitals and different equipment may vary…</p>",
      "rawMarkdown": "May I ask if the layout of the twelve leads in the images of the test set and the training set is consistent, because the scanning layout of different hospitals and different equipment may vary..."
    },
    {
      "id": 3308901,
      "postDate": "2025-10-30T14:07:42.177Z",
      "content": "<p>I have some questions about the training set. In the original ECG images of the training set, what is the time duration corresponding to the 12 leads? Is it 2.5 seconds? And is the time duration corresponding to the single Lead II 10 seconds?\nIf that's the case, the time series corresponding to the original ECG images should match the time duration of each lead displayed on the images. However, some of them do not match.Additionally, in your data description, it was mentioned that the number of sampling points should be equal to the sampling frequency multiplied by 10 seconds. I would like to ask: are all 12 leads 10 seconds in duration in train[id] [id].csv.or is only Lead II 10 seconds?</p>",
      "rawMarkdown": "I have some questions about the training set. In the original ECG images of the training set, what is the time duration corresponding to the 12 leads? Is it 2.5 seconds? And is the time duration corresponding to the single Lead II 10 seconds?\nIf that's the case, the time series corresponding to the original ECG images should match the time duration of each lead displayed on the images. However, some of them do not match.Additionally, in your data description, it was mentioned that the number of sampling points should be equal to the sampling frequency multiplied by 10 seconds. I would like to ask: are all 12 leads 10 seconds in duration in train[id] [id].csv.or is only Lead II 10 seconds?",
      "replies": [
        {
          "id": 3309089,
          "postDate": "2025-10-30T23:23:16.540Z",
          "content": "<blockquote>\n  <p>The expected number of rows is floor(fs * 10s) for lead II and floor(fs * 2.5s) for all other leads, where fs is the sampling frequency.</p>\n</blockquote>\n<p>Lead II is 10s, all others are 2.5s. See: <a href=\"https://www.kaggle.com/competitions/physionet-ecg-image-digitization/data\" target=\"_blank\">https://www.kaggle.com/competitions/physionet-ecg-image-digitization/data</a></p>",
          "rawMarkdown": ">The expected number of rows is floor(fs * 10s) for lead II and floor(fs * 2.5s) for all other leads, where fs is the sampling frequency.\n\nLead II is 10s, all others are 2.5s. See: https://www.kaggle.com/competitions/physionet-ecg-image-digitization/data"
        }
      ]
    },
    {
      "id": 3308824,
      "postDate": "2025-10-30T10:55:36.827Z",
      "content": "<p>can u please clarify. score should be as close to 0 as possible? does score 2+ make sense? aint that csv manipulation?</p>",
      "rawMarkdown": "can u please clarify. score should be as close to 0 as possible? does score 2+ make sense? aint that csv manipulation?",
      "replies": [
        {
          "id": 3308933,
          "postDate": "2025-10-30T15:05:45.980Z",
          "content": "<p>The score is the signal-to-noise ratio (SNR), in decibels (dB). The \"signal\" is the original signal that you are trying to recover or digitize, and the \"noise\" is the difference between the original signal and your digitized signal. Unlike distance or dissimilarity measures, such as mean absolute error or mean squared error, higher values of SNR are better. In particular, an SNR below 0 means that there is more noise than signal, and an SNR above 0 means that there is more signal than noise. Please check online more precise definitions and details.</p>",
          "rawMarkdown": "The score is the signal-to-noise ratio (SNR), in decibels (dB). The \"signal\" is the original signal that you are trying to recover or digitize, and the \"noise\" is the difference between the original signal and your digitized signal. Unlike distance or dissimilarity measures, such as mean absolute error or mean squared error, higher values of SNR are better. In particular, an SNR below 0 means that there is more noise than signal, and an SNR above 0 means that there is more signal than noise. Please check online more precise definitions and details."
        }
      ]
    },
    {
      "id": 3308102,
      "postDate": "2025-10-28T15:30:34.067Z",
      "content": "<p>I am new to this competition, I have few doubts </p>\n<ol>\n<li>Should we create only AI models or can we create AI models along with some image processing techniques for extracting the ECG data?</li>\n<li>Only Python programming is allowed or MATLAB programming is also permitted?</li>\n</ol>\n<p>Thanks</p>",
      "rawMarkdown": "I am new to this competition, I have few doubts \n\n1. Should we create only AI models or can we create AI models along with some image processing techniques for extracting the ECG data?\n2. Only Python programming is allowed or MATLAB programming is also permitted?\n\nThanks"
    },
    {
      "id": 3305427,
      "postDate": "2025-10-22T17:50:13.690Z",
      "content": "<p>any data code provided by competition hosters about ecgs files or this will be prepare by us also and estimation of my team is 8 peoples and  is there any need of biomedicak expert for competition or not  if data is provided please let us know</p>",
      "rawMarkdown": "any data code provided by competition hosters about ecgs files or this will be prepare by us also and estimation of my team is 8 peoples and  is there any need of biomedicak expert for competition or not  if data is provided please let us know\n",
      "replies": [
        {
          "id": 3305435,
          "postDate": "2025-10-22T17:59:32.460Z",
          "content": "<p>Please check the \"Data\" section for the ECGs. The ECG signals are stored in CSV files and the ECG images are stored in PNG files for the competition. Please check the \"Code\" section for code from the Kaggle community that loads the ECG data. </p>",
          "rawMarkdown": "Please check the \"Data\" section for the ECGs. The ECG signals are stored in CSV files and the ECG images are stored in PNG files for the competition. Please check the \"Code\" section for code from the Kaggle community that loads the ECG data. ",
          "replies": [
            {
              "id": 3305447,
              "postDate": "2025-10-22T18:31:16.037Z",
              "content": "<p>can we fetch file in colab by this kaggle competitions download -c physionet-ecg-image-digitization ? because dataset is very large and my laptop have space of 256 gb ram and 100 gb internet of monthly package</p>",
              "rawMarkdown": "can we fetch file in colab by this kaggle competitions download -c physionet-ecg-image-digitization ? because dataset is very large and my laptop have space of 256 gb ram and 100 gb internet of monthly package\n"
            }
          ]
        },
        {
          "id": 3305463,
          "postDate": "2025-10-22T19:31:30.837Z",
          "content": "<p>On the subject of adding a biomedical expert: This isn't necessary, but it'll probably help you to have someone on the team who is familiar with 12-lead ECGs and how they are read. Understanding the domain is important. That said, if you can't find one, you can teach yourself a lot about ECGs with the abundance of online materials on this topic. Try the first couple of chapters <a href=\"https://tinyurl.com/ecgmethods\" target=\"_blank\">here</a>, as a starting point. Familiarize yourself with which parts of the ECG are important and how the 12-lead layout is put together.  Usually (but not always), there's a 2.5-second segment for each lead (with subsets of leads being graphed from the same 2.5-second segments such that all the leads cover all 10 seconds of the recording). There's also a 10-second 'rhythm strip' at the bottom of the printout. Typically, this is from Lead II because it provides a good view of the atrial activity (P-waves). </p>",
          "rawMarkdown": "On the subject of adding a biomedical expert: This isn't necessary, but it'll probably help you to have someone on the team who is familiar with 12-lead ECGs and how they are read. Understanding the domain is important. That said, if you can't find one, you can teach yourself a lot about ECGs with the abundance of online materials on this topic. Try the first couple of chapters [here](https://tinyurl.com/ecgmethods), as a starting point. Familiarize yourself with which parts of the ECG are important and how the 12-lead layout is put together.  Usually (but not always), there's a 2.5-second segment for each lead (with subsets of leads being graphed from the same 2.5-second segments such that all the leads cover all 10 seconds of the recording). There's also a 10-second 'rhythm strip' at the bottom of the printout. Typically, this is from Lead II because it provides a good view of the atrial activity (P-waves). ",
          "votes": 1
        }
      ]
    },
    {
      "id": 3395308,
      "postDate": "2026-01-22T17:38:48.797Z",
      "rawMarkdown": "",
      "isDeleted": true
    },
    {
      "id": 3307860,
      "postDate": "2025-10-28T01:37:13.030Z",
      "rawMarkdown": "",
      "isDeleted": true
    }
  ],
  "comments": [
    {
      "id": 3305085,
      "author_name": "GDClifford",
      "author_url": "",
      "post_date": "2025-10-22T01:21:17.073000",
      "content": "<p>If anyone is unfamilar with the ECG, there's a primer <a href=\"https://drive.google.com/file/d/1wJ18-9M6ZQRD_IP1J8Elq3vEGHvoUii0/view\" target=\"_blank\">here</a> - See chapter 1. There are lots of other good texts out there that explain the ECG, but much of it may not matter for this challenge. Some key things to think about are: 1. Make sure the amplitude relative to the standard vertical background grid is preserved; 2. Make sure the timing of the turning points in the ECG relative to the horizontal background grid are preserved; 3. Small shifts that preserve amplitude and timing with respect to the individual waveform are preserved; 4. There is a relationship between the 12 leads, since they are spatially oversampling a three-dimensional object; 5. However, the heart rotates and translates with respect to the recording electrodes as you breathe, so it's a non-trivial relationship and lead reconstruction algorithms like the inverse Dower Transform don't work particularly well (although they might help somewhat with missing information in a given lead that might be slightly obscured by artifacts). </p>",
      "votes": 4,
      "replies": [
        {
          "id": 3310932,
          "author_name": "DJ Moon",
          "author_url": "",
          "post_date": "2025-11-03T23:45:58.630000",
          "content": "<p>Thanks, but as a beginner in ECG myself, can you simplify the points you made…?</p>\n<p>To me, it sounds like 'just preserving the aspect ratio of the images or cropped images is the point'. Have I interpreted right?</p>",
          "votes": 0,
          "replies": [
            {
              "id": 3311010,
              "author_name": "Paul Jurczak",
              "author_url": "",
              "post_date": "2025-11-04T03:20:02.613000",
              "content": "<p>You don't have to preserve the aspect ratio. The pink grid is your reference, i.e. voltage vertically and time horizontally: </p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F363811%2F9b98d4231684ae4dbd653049666dab06%2Fecg-3.png?generation=1762226380665225&amp;alt=media\" alt=\"\"></p>\n<p>You can recover the waveform from a distorted grid by bilinear interpolation or other method. The calibration pulse at the left of each waveform shows the vertical location of 0 mV level.</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3311039,
              "author_name": "DJ Moon",
              "author_url": "",
              "post_date": "2025-11-04T04:47:04.500000",
              "content": "<p>Thanks Paul. </p>\n<p>But, if so, what are the meaning of points from 1) to 3) made in the host's comment?</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3311047,
              "author_name": "Paul Jurczak",
              "author_url": "",
              "post_date": "2025-11-04T05:25:40.563000",
              "content": "<p>1) Means that amplitude (voltage) is relative to the size of grid unit square containing a given fragment of the waveform.</p>\n<p>3) Not sure if this is any different from #1.</p>",
              "votes": 0,
              "replies": []
            }
          ]
        },
        {
          "id": 3364060,
          "author_name": "Arpit Dhote",
          "author_url": "",
          "post_date": "2025-12-06T08:58:06.737000",
          "content": "<p>Heyy looking over the problem statement I am a beginner though I have made projects in the field of MedTech but they were GenAI projects and this particular project has a wider social cause so what would you suggest me as beginner how shall i start with this problem statement kindly explain I will be grateful.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 3307329,
      "author_name": "Giba",
      "author_url": "",
      "post_date": "2025-10-26T17:37:57.583000",
      "content": "<p>In the training set, there are 9 types of augmented images for each ID: 0001, 0003, 4, 5, 6, 9, 10, 11 and 12. And the two test examples are of type 0001 for both images.</p>\n<p>Can we expect the public/private test to have a uniform distribution of the 9 augmentation types? Or is the test assembled using only type 1 like the two examples? Or was the test even constructed using augmented samples not present in the training set, such as types 2, 7, 8?</p>\n<p>Could you clarify? thanks</p>",
      "votes": 1,
      "replies": [
        {
          "id": 3307433,
          "author_name": "Pavel Orlov",
          "author_url": "",
          "post_date": "2025-10-27T01:14:49.763000",
          "content": "<p><a href=\"https://www.kaggle.com/competitions/physionet-ecg-image-digitization/discussion/612845\" target=\"_blank\">yes</a></p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 3307785,
          "author_name": "GDClifford",
          "author_url": "",
          "post_date": "2025-10-27T19:39:23.753000",
          "content": "<p>This is a difficult question to answer, but thanks for posing it. We can state that all the data were generated using the same (non-synthetic) process (+/- some human variation in printing, scanning, and adding artifacts), and selected at random into the three sets (public and private (the 20:80 split for the leaderboard)).  As a result, there are lots of visual similarities between the training and test data (both that used for the leaderboard and that used for the final score) but we can’t say they are ‘drawn from the same distribution’ or that the distribution is 'uniform' since that depends on what distribution/features you choose to measure and what statistical test you use to measure a meaningful difference in distributions. Therefore, we did not test the null hypotheses that any specific features were different between the distributions. We believe this is fine, because in reality, you always encounter samples that are out of the distribution of your training data, and it's part of the real-world challenge for you to think about ways to deal with this. This means that it may be really helpful if you build in some logic, rules and domain knowledge. We’ve provided lots of information in the comments to help you think of some ways to do this.</p>",
          "votes": 4,
          "replies": [
            {
              "id": 3307931,
              "author_name": "Paul Jurczak",
              "author_url": "",
              "post_date": "2025-10-28T06:15:46.663000",
              "content": "<p>Does it mean that types 2, 7 and 8 are not present in the private test?</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3308117,
              "author_name": "GDClifford",
              "author_url": "",
              "post_date": "2025-10-28T15:57:46.433000",
              "content": "<p>We aren't going to provide any more information about the composition of the test data.</p>",
              "votes": 2,
              "replies": []
            },
            {
              "id": 3308119,
              "author_name": "hengck23",
              "author_url": "",
              "post_date": "2025-10-28T16:08:15.850000",
              "content": "<p>Randomness is also a kind of pattern.\nAbsence of information is still information.</p>",
              "votes": 2,
              "replies": []
            },
            {
              "id": 3382086,
              "author_name": "Repello mugglentum!",
              "author_url": "",
              "post_date": "2025-12-26T13:01:49.143000",
              "content": "<p>Hi, I liked your comment and made this <img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F25502179%2F6572898ca4ea9eb1ac54ebc795e9047b%2FGreen%20Daily%20Motivation%20Quotes%20Instagram%20Post.jpg?generation=1766754082508709&amp;alt=media\" alt=\"\"></p>",
              "votes": -1,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 3305055,
      "author_name": "Tom",
      "author_url": "",
      "post_date": "2025-10-21T23:21:28.113000",
      "content": "<p>It looks similar to one of the previous competitions related to education. I remember we had to extract the chart plot and then predict information from it.</p>",
      "votes": 2,
      "replies": []
    },
    {
      "id": 3305038,
      "author_name": "Bartley",
      "author_url": "",
      "post_date": "2025-10-21T22:19:24.403000",
      "content": "<p>Thanks for hosting this competition <a href=\"https://www.kaggle.com/gdclifford\" target=\"_blank\">@gdclifford</a>, looks quite interesting. </p>\n<p>Could you share some info on how the data was generated or acquired? If it was with the <a href=\"https://github.com/alphanumericslab/ecg-image-kit\" target=\"_blank\">ECG-Image-Kit</a>, is there a reason for not including localization information (bounding boxes, keypoints, etc)?</p>",
      "votes": 2,
      "replies": [
        {
          "id": 3305093,
          "author_name": "GDClifford",
          "author_url": "",
          "post_date": "2025-10-22T02:16:22.690000",
          "content": "<p>The original ECGs were all recorded using standard medical hardware systems from a variety of individuals, some healthy, some not. Eight electrodes are placed in standard positions on the torso. Each of the 12 ECG leads (labelled V1-6, AVL, lead II, etc.) are really the potential difference measured in millivolts between the electrode at that point on the torso and another electrode, or a reference point.  More details on this system can be found <a href=\"https://drive.google.com/file/d/1wJ18-9M6ZQRD_IP1J8Elq3vEGHvoUii0/view\" target=\"_blank\">here</a> - See chapter 1 for key information. The standard electrode configuration is called a 12-lead system, but really there are fewer independent leads, and some are (mostly) redundant. Since the heart is three-dimensional, there is some degree of redundancy, which can help when some leads are corrupted by artifacts. </p>\n<p>We used <a href=\"https://github.com/alphanumericslab/ecg-image-kit\" target=\"_blank\">ECG-Image-Kit</a> to plot the real ECG waveforms on standard ECG grids (used by physicians). Then we printed them on paper and exposed them to real world artifacts (wrinkles, soaking, stains, etc.). We next scanned and photographed the printouts in color and black and white. So the plots – and all the wrinkles, shadows, stains, and other distortions and artifacts – are real. </p>\n<p>Specifically, we generated the ECG images from plots of the real ECG signals in different ways:</p>\n<ul>\n<li>We generated images of the plots directly from the source ECG time series.</li>\n<li>We printed the plots to paper, and scanned them in color.</li>\n<li>We printed the plots and scanned them in greyscale.</li>\n<li>We printed the plots and photographed them with different mobile phone brands at varying resolutions.</li>\n<li>We printed the plots, “spilled” a drink on them, and photographed them with mobile phones.</li>\n<li>We printed the plots, “spilled” a drink on them, let mold grow on them, and scanned them in color.</li>\n<li>We printed the plots, “spilled” a drink on them, let mold grow on them, and scanned them in greyscale.</li>\n<li>We printed the plots, “spilled” a drink on them, let mold grow on them, and photographed them with mobile phones.</li>\n<li>We displayed the plots on a computer monitor and photographed them with mobile phones.</li>\n</ul>\n<p>ECG-Image-Kit can also generate ECG images with synthetic distortions and artifacts and localization information, including bounding boxes, and you are welcome (and in fact encouraged) to use it to generate synthetic training data in addition to the provided real training data, but the locations of the elements in the plots will change, of course, when actually printed, plotted, and scanned.</p>\n<p>Please see <a href=\"https://github.com/alphanumericslab/ecg-image-kit\" target=\"_blank\">ECG-Image-Kit</a> and ECG-Image-Database description along with <a href=\"http://physionetchallenge.org/2024\" target=\"_blank\">last year’s PhysioNet Challenge</a> and the following articles for more information and many of the gritty details:<br>\nShivashankara KK, Deepanshi, Shervedani AM, Reyna MA, Clifford GD, Sameni R. ECG-Image-Kit: a synthetic image generation toolbox to facilitate deep learning-based electrocardiogram digitization. Physiological Measurement 2024; 45:055019. <a href=\"https://doi.org/10.1088/1361-6579/ad4954\" target=\"_blank\">DOI: 10.1088/1361-6579/ad4954</a><br>\nReyna MA, Deepanshi, Weigle J, Koscova Z, Campbell K, Shivashankara KK, Saghafi S, Nikookar S, Motie-Shirazi M, Kiarashi Y, Seyedi S, Hassannia M, Bjørnstad AM, Stenhede E, Ranjbar A, Clifford GD, and Sameni R. ECG-Image-Database: A dataset of ECG images with real-world imaging and scanning artifacts; a foundation for computerized ECG image digitization and analysis, 2024. <a href=\"https://doi.org/10.48550/arXiv.2409.16612\" target=\"_blank\">DOI: 10.48550/arXiv.2409.16612</a><br>\nReyna MA, Deepanshi, Weigle J, Koscova Z, Campbell K, Seyedi S, Elola A, Bahrami Rad A, Shah AJ, Bhatia NK, Clifford GD, Sameni R. <a href=\"https://moody-challenge.physionet.org/2024/papers/cinc_paper.pdf\" target=\"_blank\">Digitization and Classification of ECG Images: The George B. Moody PhysioNet Challenge 2024</a>; Computing in Cardiology 2024; 51: 1-4.</p>",
          "votes": 10,
          "replies": [
            {
              "id": 3305102,
              "author_name": "Bartley",
              "author_url": "",
              "post_date": "2025-10-22T03:04:29.247000",
              "content": "<p>Great, thanks so much!</p>",
              "votes": 0,
              "replies": []
            }
          ]
        },
        {
          "id": 3305681,
          "author_name": "c-number",
          "author_url": "",
          "post_date": "2025-10-23T08:32:52.490000",
          "content": "<p>Can you specify the type of drink you spilled?<br>\nI have no plans to reproduce the data generation process because I do not like to have mold in my room, but out of curiosity.</p>",
          "votes": 1,
          "replies": [
            {
              "id": 3305771,
              "author_name": "Reza Sameni",
              "author_url": "",
              "post_date": "2025-10-23T12:45:36.997000",
              "content": "<p>Sure. Please read the section on \"Physically distorted variants of the ECG images\" of the <a href=\"https://doi.org/10.48550/arXiv.2409.16612\" target=\"_blank\">ECG-Image-Database</a> preprint.</p>",
              "votes": 1,
              "replies": []
            },
            {
              "id": 3306056,
              "author_name": "c-number",
              "author_url": "",
              "post_date": "2025-10-24T00:23:48.593000",
              "content": "<p>Thank you for the details!<br>\nGood thing I have both coffee and soy sauce at my house, the only thing I don't have is a printer and some mold.</p>",
              "votes": 1,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 3305158,
      "author_name": "Pavel Orlov",
      "author_url": "",
      "post_date": "2025-10-22T06:35:52.833000",
      "content": "<p>If all the images contain a coordinate grid, then isn’t it easy to recognize and extract the signal from them?<br>\nIt would be more interesting to predict things like gender, age, issues, anomalies, and so on.</p>",
      "votes": -2,
      "replies": [
        {
          "id": 3305288,
          "author_name": "Reza Sameni",
          "author_url": "",
          "post_date": "2025-10-22T12:42:45.117000",
          "content": "<p>Using the grid is indeed a good step toward the solution; but even with the grid, it's still far from an easy challenge. Review the state of the art and the references we've shared; the performance bars are quite high for clinically acceptable ECG quality. The problem has remained an open challenge for decades.</p>",
          "votes": 4,
          "replies": []
        }
      ]
    },
    {
      "id": 3392330,
      "author_name": "Hossein",
      "author_url": "",
      "post_date": "2026-01-16T17:56:37.733000",
      "content": "<p>Difference between training/validation and test data distribution:\nThe test data distribution appears to be significantly different from the training data. On my validation set—consisting of images from patient IDs that were not seen during training—my model achieves an SNR of approximately 22 dB. However, on the test set, the SNR drops sharply to around 5 dB, indicating a substantial domain shift between the validation and test data.</p>",
      "votes": 0,
      "replies": [
        {
          "id": 3393559,
          "author_name": "BanhMiMatOng",
          "author_url": "",
          "post_date": "2026-01-19T10:07:41.113000",
          "content": "<p>that's interesting, do you think that gap raise from the segmentation model or the image normalization step that you do? it seems not the case for me to have that big difference, if i can ask, how did you train your model on training set? </p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 3312039,
      "author_name": "Richard1st",
      "author_url": "",
      "post_date": "2025-11-06T09:24:47.733000",
      "content": "<p>correct me if my understanding is wrong.\nour goal is to figure out the wave of 12 leads of given ECG image.\nand generate a csv file like the train/[id]/[id].csv </p>\n<p>and the generated csv file is valueable for the doctors.</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 3311031,
      "author_name": "Low Yu Ning",
      "author_url": "",
      "post_date": "2025-11-04T04:30:56.963000",
      "content": "<p>Good day Host. This will be my first time to join Kaggle as I am interested in ECG Image analysis. I usually do structure data analysis and modelling. Is there any \"keywords\" for training i can source with? </p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 3309937,
      "author_name": "Boredom",
      "author_url": "",
      "post_date": "2025-11-01T18:26:46.483000",
      "content": "<p>May I ask if the layout of the twelve leads in the images of the test set and the training set is consistent, because the scanning layout of different hospitals and different equipment may vary…</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 3308901,
      "author_name": "",
      "author_url": "",
      "post_date": "2025-10-30T14:07:42.177000",
      "content": "<p>I have some questions about the training set. In the original ECG images of the training set, what is the time duration corresponding to the 12 leads? Is it 2.5 seconds? And is the time duration corresponding to the single Lead II 10 seconds?\nIf that's the case, the time series corresponding to the original ECG images should match the time duration of each lead displayed on the images. However, some of them do not match.Additionally, in your data description, it was mentioned that the number of sampling points should be equal to the sampling frequency multiplied by 10 seconds. I would like to ask: are all 12 leads 10 seconds in duration in train[id] [id].csv.or is only Lead II 10 seconds?</p>",
      "votes": 0,
      "replies": [
        {
          "id": 3309089,
          "author_name": "Paul Jurczak",
          "author_url": "",
          "post_date": "2025-10-30T23:23:16.540000",
          "content": "<blockquote>\n  <p>The expected number of rows is floor(fs * 10s) for lead II and floor(fs * 2.5s) for all other leads, where fs is the sampling frequency.</p>\n</blockquote>\n<p>Lead II is 10s, all others are 2.5s. See: <a href=\"https://www.kaggle.com/competitions/physionet-ecg-image-digitization/data\" target=\"_blank\">https://www.kaggle.com/competitions/physionet-ecg-image-digitization/data</a></p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 3308824,
      "author_name": "Code by Nadiia",
      "author_url": "",
      "post_date": "2025-10-30T10:55:36.827000",
      "content": "<p>can u please clarify. score should be as close to 0 as possible? does score 2+ make sense? aint that csv manipulation?</p>",
      "votes": 0,
      "replies": [
        {
          "id": 3308933,
          "author_name": "Matthew Reyna",
          "author_url": "",
          "post_date": "2025-10-30T15:05:45.980000",
          "content": "<p>The score is the signal-to-noise ratio (SNR), in decibels (dB). The \"signal\" is the original signal that you are trying to recover or digitize, and the \"noise\" is the difference between the original signal and your digitized signal. Unlike distance or dissimilarity measures, such as mean absolute error or mean squared error, higher values of SNR are better. In particular, an SNR below 0 means that there is more noise than signal, and an SNR above 0 means that there is more signal than noise. Please check online more precise definitions and details.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 3308102,
      "author_name": "Edwin Dhas",
      "author_url": "",
      "post_date": "2025-10-28T15:30:34.067000",
      "content": "<p>I am new to this competition, I have few doubts </p>\n<ol>\n<li>Should we create only AI models or can we create AI models along with some image processing techniques for extracting the ECG data?</li>\n<li>Only Python programming is allowed or MATLAB programming is also permitted?</li>\n</ol>\n<p>Thanks</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 3305427,
      "author_name": "M abdullah butt",
      "author_url": "",
      "post_date": "2025-10-22T17:50:13.690000",
      "content": "<p>any data code provided by competition hosters about ecgs files or this will be prepare by us also and estimation of my team is 8 peoples and  is there any need of biomedicak expert for competition or not  if data is provided please let us know</p>",
      "votes": 0,
      "replies": [
        {
          "id": 3305435,
          "author_name": "Matthew Reyna",
          "author_url": "",
          "post_date": "2025-10-22T17:59:32.460000",
          "content": "<p>Please check the \"Data\" section for the ECGs. The ECG signals are stored in CSV files and the ECG images are stored in PNG files for the competition. Please check the \"Code\" section for code from the Kaggle community that loads the ECG data. </p>",
          "votes": 0,
          "replies": [
            {
              "id": 3305447,
              "author_name": "M abdullah butt",
              "author_url": "",
              "post_date": "2025-10-22T18:31:16.037000",
              "content": "<p>can we fetch file in colab by this kaggle competitions download -c physionet-ecg-image-digitization ? because dataset is very large and my laptop have space of 256 gb ram and 100 gb internet of monthly package</p>",
              "votes": 0,
              "replies": []
            }
          ]
        },
        {
          "id": 3305463,
          "author_name": "GDClifford",
          "author_url": "",
          "post_date": "2025-10-22T19:31:30.837000",
          "content": "<p>On the subject of adding a biomedical expert: This isn't necessary, but it'll probably help you to have someone on the team who is familiar with 12-lead ECGs and how they are read. Understanding the domain is important. That said, if you can't find one, you can teach yourself a lot about ECGs with the abundance of online materials on this topic. Try the first couple of chapters <a href=\"https://tinyurl.com/ecgmethods\" target=\"_blank\">here</a>, as a starting point. Familiarize yourself with which parts of the ECG are important and how the 12-lead layout is put together.  Usually (but not always), there's a 2.5-second segment for each lead (with subsets of leads being graphed from the same 2.5-second segments such that all the leads cover all 10 seconds of the recording). There's also a 10-second 'rhythm strip' at the bottom of the printout. Typically, this is from Lead II because it provides a good view of the atrial activity (P-waves). </p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 3395308,
      "author_name": "",
      "author_url": "",
      "post_date": "2026-01-22T17:38:48.797000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 3307860,
      "author_name": "",
      "author_url": "",
      "post_date": "2025-10-28T01:37:13.030000",
      "content": "",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "3304984": "As part of the PhysioNet Resource, we host the annual [George B. Moody PhysioNet Challenges](https://physionetchallenges.org/), a series of annual events that challenge the scientific community to address unsolved problems in biomedical data science. \n\nThis new competition, co-hosted by Kaggle and the PhysioNet Challenge team, builds upon the [PhysioNet Challenge 2024 on ECG digitization and classification](https://moody-challenge.physionet.org/2024/), in which we provide a challenging set of images of real ECG printouts that we created with various realistic physical and imaging artifacts. The ECG measures the electrical activity of the heart over time, and ECG printouts have provided a convenient way for clinicians to identify cardiac abnormalities for decades. However, ECG signals, which are confined to paper, have limited utility – and, consequently, limited potential for AI.\n\nThis competition challenges teams to recover the ECG signal (the series of samples for each of the 12 leads) from the ECG images. It provides the opportunity to solve a real-world problem of digitizing the billions of legacy medical data printouts around the world, making them suitable for further use, such as diagnosis or tracking changes over time.\n\nPlease feel free to ask your questions in this thread.\n\nGood luck!\n\nMatt, Reza, and Gari",
    "3305085": "If anyone is unfamilar with the ECG, there's a primer [here](https://drive.google.com/file/d/1wJ18-9M6ZQRD_IP1J8Elq3vEGHvoUii0/view) - See chapter 1. There are lots of other good texts out there that explain the ECG, but much of it may not matter for this challenge. Some key things to think about are: 1. Make sure the amplitude relative to the standard vertical background grid is preserved; 2. Make sure the timing of the turning points in the ECG relative to the horizontal background grid are preserved; 3. Small shifts that preserve amplitude and timing with respect to the individual waveform are preserved; 4. There is a relationship between the 12 leads, since they are spatially oversampling a three-dimensional object; 5. However, the heart rotates and translates with respect to the recording electrodes as you breathe, so it's a non-trivial relationship and lead reconstruction algorithms like the inverse Dower Transform don't work particularly well (although they might help somewhat with missing information in a given lead that might be slightly obscured by artifacts). ",
    "3307329": "In the training set, there are 9 types of augmented images for each ID: 0001, 0003, 4, 5, 6, 9, 10, 11 and 12. And the two test examples are of type 0001 for both images.\n\nCan we expect the public/private test to have a uniform distribution of the 9 augmentation types? Or is the test assembled using only type 1 like the two examples? Or was the test even constructed using augmented samples not present in the training set, such as types 2, 7, 8?\n\nCould you clarify? thanks",
    "3305055": "It looks similar to one of the previous competitions related to education. I remember we had to extract the chart plot and then predict information from it.",
    "3305038": "Thanks for hosting this competition @gdclifford, looks quite interesting. \n\nCould you share some info on how the data was generated or acquired? If it was with the [ECG-Image-Kit](https://github.com/alphanumericslab/ecg-image-kit), is there a reason for not including localization information (bounding boxes, keypoints, etc)?",
    "3305158": "If all the images contain a coordinate grid, then isn’t it easy to recognize and extract the signal from them?\nIt would be more interesting to predict things like gender, age, issues, anomalies, and so on.\n",
    "3392330": "Difference between training/validation and test data distribution:\nThe test data distribution appears to be significantly different from the training data. On my validation set—consisting of images from patient IDs that were not seen during training—my model achieves an SNR of approximately 22 dB. However, on the test set, the SNR drops sharply to around 5 dB, indicating a substantial domain shift between the validation and test data.",
    "3312039": "correct me if my understanding is wrong.\nour goal is to figure out the wave of 12 leads of given ECG image.\nand generate a csv file like the train/[id]/[id].csv \n\nand the generated csv file is valueable for the doctors.\n",
    "3311031": "Good day Host. This will be my first time to join Kaggle as I am interested in ECG Image analysis. I usually do structure data analysis and modelling. Is there any \"keywords\" for training i can source with? ",
    "3309937": "May I ask if the layout of the twelve leads in the images of the test set and the training set is consistent, because the scanning layout of different hospitals and different equipment may vary...",
    "3308901": "I have some questions about the training set. In the original ECG images of the training set, what is the time duration corresponding to the 12 leads? Is it 2.5 seconds? And is the time duration corresponding to the single Lead II 10 seconds?\nIf that's the case, the time series corresponding to the original ECG images should match the time duration of each lead displayed on the images. However, some of them do not match.Additionally, in your data description, it was mentioned that the number of sampling points should be equal to the sampling frequency multiplied by 10 seconds. I would like to ask: are all 12 leads 10 seconds in duration in train[id] [id].csv.or is only Lead II 10 seconds?",
    "3308824": "can u please clarify. score should be as close to 0 as possible? does score 2+ make sense? aint that csv manipulation?",
    "3308102": "I am new to this competition, I have few doubts \n\n1. Should we create only AI models or can we create AI models along with some image processing techniques for extracting the ECG data?\n2. Only Python programming is allowed or MATLAB programming is also permitted?\n\nThanks",
    "3305427": "any data code provided by competition hosters about ecgs files or this will be prepare by us also and estimation of my team is 8 peoples and  is there any need of biomedicak expert for competition or not  if data is provided please let us know\n",
    "3395308": "",
    "3307860": ""
  }
}