Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

MAGDI Segmentation Models 3D

This python package named magdi_segmentation_models_3d responsible for providing custom Hugging Face compatible models for 3D image segmentation for the project MAGDI.

Hugging Face Custom Models

Documentation on Hugging Face: https://huggingface.co/docs/transformers/en/custom_models

Examples: https://github.com/huggingface/transformers/tree/main/src/transformers/models

mednext

MedNeXt implementation from monai wrapped as Hugging Face model.

References:

  • 10.48550/arXiv.2303.09975

Usage example:

from magdi_segmentation_models_3d import MedNeXtModel, MedNeXtConfig,

MedNeXtForImageSegmentation, MedNeXtImageProcessor

MedNeXtConfig.register_for_auto_class()
MedNeXtModel.register_for_auto_class("AutoModel")
MedNeXtForImageSegmentation.register_for_auto_class(
    "AutoModelForImageSegmentation"
)
MedNeXtImageProcessor.register_for_auto_class("AutoImageProcessor")

mednext_config = MedNeXtConfig(
    variant='B',
    spatial_dims=3,
    in_channels=1,
    out_channels=5,
    kernel_size=3,
    deep_supervision=False,
)
mednext_model = MedNeXtForImageSegmentation(mednext_config)
processor = MedNeXtImageProcessor()

nnunetresenc

ResidualEncoderUNet from dynamic_network_architectures.architectures.unet wrapped as Hugging Face model. This architecture is also being used by nnUNet https://github.com/MIC-DKFZ/nnUNet.

References:

  • 10.48550/arXiv.1809.10486
  • 10.48550/arXiv.2404.09556

Usage example:

from magdi_segmentation_models_3d import nnUNetResEncConfig, nnUNetResEncModel,

nnUNetResEncForImageSegmentation, nnUNetResEncImageProcessor

nnUNetResEncConfig.register_for_auto_class()
nnUNetResEncModel.register_for_auto_class("AutoModel")
nnUNetResEncForImageSegmentation.register_for_auto_class(
    "AutoModelForImageSegmentation"
)
nnUNetResEncImageProcessor.register_for_auto_class("AutoImageProcessor")

nnunet_config = nnUNetResEncConfig(
    variant="B",  # only B supported yet
    in_channels=1,
    out_channels=5,
    enable_deep_supervision=False,
)
nnunet_model = nnUNetResEncForImageSegmentation(nnunet_config)
processor = nnUNetResEncImageProcessor()

stunet

STU-Net from https://github.com/Ziyan-Huang/STU-Net wrapped as Hugging Face model.

References:

  • 10.48550/arXiv.2304.06716

Usage example:

from magdi_segmentation_models_3d import STUNetConfig, STUNetModel,

STUNetForImageSegmentation, STUNetImageProcessor

STUNetConfig.register_for_auto_class()
STUNetModel.register_for_auto_class("AutoModel")
STUNetForImageSegmentation.register_for_auto_class(
    "AutoModelForImageSegmentation"
)
STUNetImageProcessor.register_for_auto_class("AutoImageProcessor")

stu_net_config = STUNetConfig(
    variant='B',
    in_channels=1,
    out_channels=5,
    kernel_size=[[3, 3, 3]] * 6,
    deep_supervision=True,
)
stu_net_model = STUNetForImageSegmentation(stu_net_config)
processor = STUNetImageProcessor()

swinunetrv2

swinUNETRV2 implementation from monai wrapped as Hugging Face model.

References:

  • 10.48550/arXiv.2201.01266

Usage example:

from magdi_segmentation_models_3d import SwinUNETRv2Config, SwinUNETRv2Model,

SwinUNETRv2ForImageSegmentation, SwinUNETRv2ImageProcessor

SwinUNETRv2Config.register_for_auto_class()
SwinUNETRv2Model.register_for_auto_class("AutoModel")
SwinUNETRv2ForImageSegmentation.register_for_auto_class(
    "AutoModelForImageSegmentation"
)
SwinUNETRv2ImageProcessor.register_for_auto_class("AutoImageProcessor")
swin_unetr_v2_config = SwinUNETRv2Config(
    in_channels=1,
    out_channels=5,
    depths=(2, 2, 2, 2),
    num_heads=(3, 6, 12, 24),
    feature_size=48,
    patch_size=2,
    window_size=7,
    drop_rate=0.2,
    attn_drop_rate=0.2,
    dropout_path_rate=0.2,
    spatial_dims=3,
)
swinunetrv2_model = SwinUNETRv2ForImageSegmentation(swin_unetr_v2_config)

processor = SwinUNETRv2ImageProcessor()

unet

Enhanced version of U-Net - Residual U-Net - implementation from monai wrapped as Hugging Face model.

References:

Usage example:

from magdi_segmentation_models_3d import UnetConfig, UnetModel,

UnetForImageSegmentation, UnetImageProcessor

UnetConfig.register_for_auto_class()
UnetModel.register_for_auto_class("AutoModel")
UnetForImageSegmentation.register_for_auto_class(
    "AutoModelForImageSegmentation"
)
UnetImageProcessor.register_for_auto_class("AutoImageProcessor")

unet_config = UnetConfig(
    in_channels=1,
    out_channels=5,
    channels=(64, 128, 256, 512, 1024),
    strides=(2, 2, 2, 2),
    num_res_units=2,
    spatial_dims=3,
    dropout=0.2,
)
unet_model = UnetForImageSegmentation(unet_config)
processor = UnetImageProcessor()

Download files

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

Source Distribution

magdi_segmentation_models_3d-0.1.0a92.tar.gz (17.8 kB view details)

Uploaded Source

Built Distribution

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

magdi_segmentation_models_3d-0.1.0a92-py3-none-any.whl (29.1 kB view details)

Uploaded Python 3

File details

Details for the file magdi_segmentation_models_3d-0.1.0a92.tar.gz.

File metadata

File hashes

Hashes for magdi_segmentation_models_3d-0.1.0a92.tar.gz
Algorithm Hash digest
SHA256 20434a2c9f91e93b1f3ecdab4eb4969dc9ac7ce1efedd8ff89680cf552625b76
MD5 a81ae6771d0b887c7b68a418d5ea912d
BLAKE2b-256 eb0cc23ae3ac55b5c558c2bbd331b5d7bd27ab2bd491b9b997f2a1b5c2e3c19a

See more details on using hashes here.

File details

Details for the file magdi_segmentation_models_3d-0.1.0a92-py3-none-any.whl.

File metadata

File hashes

Hashes for magdi_segmentation_models_3d-0.1.0a92-py3-none-any.whl
Algorithm Hash digest
SHA256 82b2d3b13c3a32a7ba09b94cc0a305b52f7a048a2504db0aca5f7d319cbf6281
MD5 c94311b60aa0688600ef97ccb9c4b488
BLAKE2b-256 14698944e27e59ad3baab42be71f267e10532994da7ad33c7bcb84d266be1bd6

See more details on using hashes here.

Supported by

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