Skip to main content

PyTorch dataset for TDSC ABUS 2023

Project description

TDSC-ABUS2023 PyTorch Dataset

PyPI version License Build Status

A PyTorch-compatible dataset package containing volumetric data from the TDSC-ABUS2023 collection (Tumor Detection, Segmentation, and Classification Challenge on Automated 3D Breast Ultrasound).


📊 Dataset Description

The dataset consists of 200 3D ultrasound volumes collected using an Invenia ABUS (GE Healthcare) system at Harbin Medical University Cancer Hospital, China. All tumor annotations were created and verified by experienced radiologists.

Dataset Composition

Set Cases Malignant Benign
Training 100 58 42
Validation 30 17 13
Test 70 40 30

Technical Specifications

  • Image Dimensions: Vary between 843×546×270 and 865×682×354
  • Pixel Spacing:
    • X-Y plane: 0.200 mm × 0.073 mm
    • Z-axis (between slices): ~0.475674 mm
  • File Format: .nrrd
  • Annotations: Voxel-level segmentation
    • 0: Background
    • 1: Tumor

📥 Installation

Install the package via pip:

pip install tdsc-abus2023-pytorch

Verify Installation

import tdsc_abus2023_pytorch
print("TDSC-ABUS2023 PyTorch Dataset is installed successfully!")

🚀 Usage

Loading the Original Dataset

from tdsc_abus2023_pytorch import TDSC, DataSplits

# Initialize dataset with automatic download
dataset = TDSC(
    path="./data",
    split=DataSplits.TRAIN,
    download=True
)

# Access a sample
volume, mask, label, bbx = dataset[0]

Using the Tumor-Only Dataset

This dataset contains only tumor data, suitable for classification and segmentation tasks.

from tdsc_abus2023_pytorch import TDSCTumors, DataSplits

# Initialize dataset with automatic download
dataset = TDSCTumors(
    path="./data",
    split=DataSplits.TRAIN,
    download=True
)

# Access a sample
volume, mask, label = dataset[0]

Data Transformers for Preprocessing

from tdsc_abus2023_pytorch import TDSC, DataSplits
from enum import Enum
import numpy as np

class ViewTransformer:
    class View(Enum):
        CORONAL = 0
        SAGITTAL = 1
        AXIAL = 2
    
    TRANSPOSE_CONFIGS = {
        View.AXIAL: (0, 1, 2),
        View.CORONAL: (1, 2, 0),
        View.SAGITTAL: (2, 0, 1)
    }
    
    def __init__(self, view: View):
        self.transpose_axes = self.TRANSPOSE_CONFIGS[view]
    
    def __call__(self, vol: np.ndarray, mask: np.ndarray):
        transformed_vol = np.transpose(vol, self.transpose_axes)
        transformed_mask = np.transpose(mask, self.transpose_axes)
        return transformed_vol, transformed_mask

view_transformer = ViewTransformer(view=ViewTransformer.View.AXIAL)
dataset = TDSC(path="./data", split=DataSplits.TRAIN, transforms=[view_transformer])

# Get transformed sample
vol, msk, label, bbx = dataset[0]

📂 Data Structure

data/
  ├── Train/
  │   ├── DATA/
  │   └── MASK/
  ├── Validation/
  │   ├── DATA/
  │   └── MASK/
  └── Test/
      ├── DATA/
      └── MASK/

📖 Citation

If you use this dataset in your research, please cite:

@misc{luo2025tumordetectionsegmentationclassification,
    title={Tumor Detection, Segmentation and Classification Challenge on Automated 3D Breast Ultrasound: The TDSC-ABUS Challenge},
    author={Gongning Luo and others},
    year={2025},
    eprint={2501.15588},
    archivePrefix={arXiv},
    primaryClass={eess.IV},
    url={https://arxiv.org/abs/2501.15588},
}

🤝 Contributing

We welcome contributions! To contribute, please fork the repository, make your changes, and submit a Pull Request.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tdsc_abus2023_pytorch-0.1.8.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tdsc_abus2023_pytorch-0.1.8-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file tdsc_abus2023_pytorch-0.1.8.tar.gz.

File metadata

  • Download URL: tdsc_abus2023_pytorch-0.1.8.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tdsc_abus2023_pytorch-0.1.8.tar.gz
Algorithm Hash digest
SHA256 07740de9d450e68dbf6678741511730f19385e7bfcd88c376926bf84fdd4925b
MD5 0e59004a20dbd6b05642c8672e29bb28
BLAKE2b-256 e07bdbb6b1c90df9380f83ad8af0df727b07cf914677d9be2af9c2e8b67e761f

See more details on using hashes here.

Provenance

The following attestation bundles were made for tdsc_abus2023_pytorch-0.1.8.tar.gz:

Publisher: python-publish.yml on mralinp/tdsc-abus2023-pytorch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tdsc_abus2023_pytorch-0.1.8-py3-none-any.whl.

File metadata

File hashes

Hashes for tdsc_abus2023_pytorch-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 0c834d8edbabb6444b9aa5f091dd91af7dfefc2eb89b8b36dff56c9525d1db96
MD5 7a653508f82e277f7cb1cc64c4b4e720
BLAKE2b-256 ec5a9b9dd881688fbf9b499f3485bec64836d65c02e86395cb7997121bbef331

See more details on using hashes here.

Provenance

The following attestation bundles were made for tdsc_abus2023_pytorch-0.1.8-py3-none-any.whl:

Publisher: python-publish.yml on mralinp/tdsc-abus2023-pytorch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page