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.0a76.tar.gz (17.2 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.0a76-py3-none-any.whl (28.5 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for magdi_segmentation_models_3d-0.1.0a76.tar.gz
Algorithm Hash digest
SHA256 c1ca2d9df4d2172dba09017c101c1d22d16a22c2960611d40e1f030af62d5849
MD5 c1e62e0db4faee87ea6f25ac0e94dd08
BLAKE2b-256 d0dd2190b24c7c374e31ddbb1cc4d34c92560602d248fed763cb5dc9c27f9f41

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for magdi_segmentation_models_3d-0.1.0a76-py3-none-any.whl
Algorithm Hash digest
SHA256 e5f35cb227f86edc79927bebce58fc8450dcce477d3bf1c48618cbbc3f2fd7ae
MD5 e99ae53fbbf963400cab5b95508d17af
BLAKE2b-256 c5485025768c05b2652bdca083013a352815a4db96455929510987f8597d9c73

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