Sign inSign up

wenh06/cinc2022

By wenh06

•Updated over 3 years ago

Image
0

195

wenh06/cinc2022 repository overview

⁠CinC2022

docker-ci-and-test format-check

Heart Murmur Detection from Phonocardiogram Recordings: The George B. Moody PhysioNet Challenge 2022

⁠ Knowledge about Heart Murmur

utils/HeartMurmur.md⁠ contains knowledge about heart murmur collected from various sources.

⁠The Conference

Conference Website⁠

Conference Program⁠

⁠Conference Paper
Click to view!

Folder tex⁠ contains latex source code for the CinC2022 conference paper, written using Overleaf⁠.

Moved to another repository as the size of the whole repository exceeds the limit of Overleaf⁠.

Preprint⁠

⁠Conference Poster

Poster created with baposter using the Overleaf template⁠

Click to view! poster

⁠Final Scores

Final scores are released in https://physionetchallenges.org/2022/results/⁠ in 5 .tsv files.

These files were gathered in one .xlsx file⁠, which was uploaded into Google Sheets⁠.

Click to expand!

Final score files would keep on changing for some time as unofficial teams are having their rebuttals against the organizers.

Final score files were frozen from 2022/09/18 (Updated again....).

One can load the 5 tables all at once via

pd.read_excel("./results/final_scores.xlsx", engine="openpyxl", sheet_name=None)

One can get a digest of the scores and rankings of all metrics (Weighted Accuracy, Cost, etc.) for the murmur task and the outcome task via

from utils._final_results import get_team_digest

get_team_digest("Revenger", fmt="pd", latest=True)  # pandas DataFrame format
get_team_digest("Revenger", fmt="tex", latest=True)  # latex format (string)

⁠Top Team Papers

Click to view!

⁠Official Phase Leaderboards

Murmur⁠

Outcome⁠

Click to expand!

The leaderboards can be loaded via

# beautifulsoup4 and html5lib required
import pandas as pd

outcome_url = "https://docs.google.com/spreadsheets/u/0/d/e/2PACX-1vRNBATogMRsfio3938bU4r6fcAad85jNzTbSRtRhQ74xHw9shuYoP4uxkK6uKV1zw8CKjPC3AMm33qn/pubhtml/sheet?headers=false&gid=1883863848"
murmur_url = "https://docs.google.com/spreadsheets/u/0/d/e/2PACX-1vRNBATogMRsfio3938bU4r6fcAad85jNzTbSRtRhQ74xHw9shuYoP4uxkK6uKV1zw8CKjPC3AMm33qn/pubhtml/sheet?headers=false&gid=0"

df_outcome = pd.read_html(outcome_url, flavor="bs4", header=[1], index_col=[0])[0].reset_index(drop=True).dropna()
df_outcome.Rank = df_outcome.Rank.astype(int)
# df_outcome.set_index("Rank", inplace=True)  # Rank has duplicates
df_murmur = pd.read_html(murmur_url, flavor="bs4", header=[1], index_col=[0])[0].reset_index(drop=True).dropna()
df_murmur.Rank = df_murmur.Rank.astype(int)
# df_murmur.set_index("Rank", inplace=True)  # Rank has duplicates

pattern for the content of email announcing the submission scores:

from string import punctuation

team_name_pattern = f"""[\\w\\s{punctuation}]+"""
email_pattern = (
    f"""We processed an entry from Team (?P<team_name>{team_name_pattern}) """
    """for the Official phase of the George B\\. Moody PhysioNet Challenge 2022\\. """
    """This entry was submitted on (?P<submission_time>[\\d]{1,2}/[\\d]{1,2}/2022 [\\d]{1,2}:[\\d]{1,2}:[\\d]{1,2} ET) """
    f"""with ID (?P<submission_id>{team_name_pattern}_[\\d]{{1,5}}_[\\d]{{1,3}})\\.[\\n]+"""
    """We successfully evaluated your entry, which received the score (?P<outcome_cost>[\\d\\.]+) and """
    """(?P<murmur_weighted_accuracy>[\\d\\.]+) using the Challenge evaluation metric on the validation set\\. """
    """This entry was your team's (?P<submission_number>[\\d]{1,2})/10 entry for the Official phase\\."""
)
# usage:
# list(re.finditer(email_pattern, email_content))[0].groupdict()

⁠Miscellaneous

Click to view!
⁠Test Files

The file test_docker.py⁠ along with the docker CI action⁠ can almost guarantee that the Challenge submissions won't raise errors, except for CUDA (GPU) errors. For possible CUDA errors, detect with test_local.py⁠.

⁠ Python Re-Implementation of Springer's PCG Features Extractor

pcg_springer_features⁠ re-implements the feature extraction part of David Springer's logistic regression-HSMM-based reart sound segmentation algorithm⁠.

Inside utils⁠ there's also a copy of pcg_springer_features.

⁠Docker Image⁠

docker-ci

A Docker image was built and pushed to Docker Hub⁠ using GitHub Action⁠.

Tag summary

Content type

Image

Digest

sha256:140098b95…

Size

6.1 GB

Last updated

over 3 years ago

docker pull wenh06/cinc2022