lsad
Classes
LsadScpCode
LSAD SCP codes
LsadDataset
LSAD dataset
Source code in heartkit/datasets/lsad.py
Attributes
patient_ids
cached
property
Functions
get_train_patient_ids
get_test_patient_ids
label_key
patient_data
Get patient data
Parameters:
-
(patient_idint) –Patient ID
Returns:
-
None–Generator[PatientData, None, None]: Patient data
Source code in heartkit/datasets/lsad.py
signal_generator
signal_generator(
patient_generator: PatientGenerator, frame_size: int, samples_per_patient: int = 1, target_rate: int | None = None
) -> Generator[npt.NDArray, None, None]
Generate random frames.
Parameters:
-
(patient_generatorPatientGenerator) –Generator that yields patient data.
-
(frame_sizeint) –Frame size
-
(samples_per_patientint, default:1) –Samples per patient. Defaults to 1.
-
(target_rateint | None, default:None) –Target rate. Defaults to None.
Returns:
-
None–Generator[npt.NDArray, None, None]: Generator of input data
Source code in heartkit/datasets/lsad.py
signal_label_generator
signal_label_generator(
patient_generator: PatientGenerator,
frame_size: int,
samples_per_patient: int = 1,
target_rate: int | None = None,
label_map: dict[int, int] | None = None,
label_type: str = "scp",
label_format: str | None = None,
) -> Generator[tuple[npt.NDArray, int | npt.NDArray], None, None]
Generate frames w/ labels using patient generator.
Parameters:
-
(patient_generatorPatientGenerator) –Patient Generator
-
(frame_sizeint) –Frame size
-
(samples_per_patientint, default:1) –Samples per patient. Defaults to 1.
-
(target_rateint, default:None) –Target rate. Defaults to None.
-
(label_mapdict[int, int], default:None) –Label map. Defaults to None.
-
(label_typestr, default:'scp') –Class type. Defaults to "scp".
-
(label_formatstr, default:None) –Label format. Defaults to None.
Returns:
-
None–Generator[tuple[npt.NDArray, int|npt.NDArray], None, None]: Generator of input data and labels
Yields:
Source code in heartkit/datasets/lsad.py
314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 | |
split_train_test_patients
split_train_test_patients(
patient_ids: NDArray,
test_size: float,
label_map: dict[int, int] | None = None,
label_type: str | None = None,
label_threshold: int | None = 2,
) -> list[list[int]]
Perform train/test split on patients for given task. NOTE: We only perform inter-patient splits and not intra-patient.
Parameters:
-
(patient_idsNDArray) –Patient Ids
-
(test_sizefloat) –Test size
-
(label_mapdict[int, int], default:None) –Label map. Defaults to None.
-
(label_typestr, default:None) –Label type. Defaults to None.
-
(label_thresholdint, default:2) –Label threshold. Defaults to 2.
Returns:
Source code in heartkit/datasets/lsad.py
filter_patients_for_labels
filter_patients_for_labels(
patient_ids: NDArray, label_map: dict[int, int] | None = None, label_type: str | None = None
) -> npt.NDArray
Filter patients based on labels. Useful to remove patients w/o labels for task to speed up data loading.
Parameters:
-
(patient_idsNDArray) –Patient ids
-
(patient_idsNDArray) –Patient ids
-
(label_mapdict[int, int], default:None) –Label map. Defaults to None.
-
(label_typestr, default:None) –Label type. Defaults to None.
Returns:
-
NDArray–npt.NDArray: Filtered patient ids
Source code in heartkit/datasets/lsad.py
get_patients_labels
get_patients_labels(patient_ids: NDArray, label_map: dict[int, int], label_type: str = 'scp') -> list[list[int]]
Get class labels for each patient
Parameters:
-
(patient_idsNDArray) –Patient ids
-
(label_mapdict[int, int]) –Label map
-
(label_typestr, default:'scp') –Label type. Defaults to "scp".
Returns:
Source code in heartkit/datasets/lsad.py
get_patient_labels
get_patient_labels(patient_id: int, label_map: dict[int, int], label_type: str = 'scp') -> list[int]
Get class labels for patient
Parameters:
-
(patient_idint) –Patient id
-
(label_mapdict[int, int]) –Label map
-
(label_typestr, default:'scp') –Label type. Defaults to "scp".
Returns:
Source code in heartkit/datasets/lsad.py
download
Download dataset
This will download preprocessed HDF5 files from S3.
Parameters:
-
(num_workersint | None, default:None) –parallel workers. Defaults to None.
-
(forcebool, default:False) –Force redownload. Defaults to False.
Source code in heartkit/datasets/lsad.py
download_raw_dataset
Downloads full dataset zipfile and converts into individial patient HDF5 files.
Parameters:
-
(forcebool, default:False) –Whether to force re-download if destination exists. Defaults to False.
-
(num_workersint, default:None) –parallel workers. Defaults to os.cpu_count().