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.7.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.7-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for tdsc_abus2023_pytorch-0.1.7.tar.gz
Algorithm Hash digest
SHA256 797d87ebf6fadd9a64f3053954eb0d706e2bef7d13cd1bb7ae8828f88fe579ec
MD5 403f925c7778b9c4628ed76b87045079
BLAKE2b-256 de95412132d6a42ec880b81cf0014d3d25c4019bbe6a69cb93d78ce5db5fcfea

See more details on using hashes here.

Provenance

The following attestation bundles were made for tdsc_abus2023_pytorch-0.1.7.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.7-py3-none-any.whl.

File metadata

File hashes

Hashes for tdsc_abus2023_pytorch-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 6aea5b70d0c9394ac9123326136f82b8de6e33320185dec8cca18b29058b34b1
MD5 0c87972545aedd0fddbc4631924d1286
BLAKE2b-256 949af94519bd6ccbf5cbf46822474f898b2ee38f89d5edad20cf15ffaf80b5f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for tdsc_abus2023_pytorch-0.1.7-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