content: [project]
  name = "totalspineseg"
  version = "20250416"
  requires-python = ">=3.10"
  description = "TotalSpineSeg is a tool for automatic instance segmentation and labeling of all vertebrae, intervertebral discs (IVDs), spinal cord, and spinal canal in MRI images."
  readme = "README.md"
  authors = [
      { name = "Yehuda Warszawer", email = "yehuda.warszawer@sheba.health.gov.il"},
      { name = "Nathan Molinier", email = "nathan.molinier@polymtl.ca"},
      { name = "Anat Achiron"},
      { name = "Julien Cohen-Adad"},
  ]
  classifiers = [
      "Development Status :: 5 - Production/Stable",
      "Intended Audience :: Science/Research",
      "Programming Language :: Python :: 3",
      "Topic :: Scientific/Engineering :: Artificial Intelligence",
      "Topic :: Scientific/Engineering :: Image Recognition",
      "Topic :: Scientific/Engineering :: Medical Science Apps.",
  ]
  keywords = [
      'deep learning',
      'image segmentation',
      'semantic segmentation',
      'medical image analysis',
      'medical image segmentation',
      'nnU-Net',
      'nnunet',
      'mri',
      'spine',
      'ivd',
      'intervertebral disc',
      'spinal cord',
  ]
  dependencies = [
      "tqdm",
      "numpy<2",
      "nibabel",
      "gryds",
      "torchio",
      "scipy",
      "pillow",
      "nilearn",
      "SimpleITK",
      # We use nnunetv2==2.4.2 for nnUNetTrainer_DASegOrd0_NoMirroring
      # https://github.com/MIC-DKFZ/nnUNet/issues/2480
      # --verify_dataset_integrity not working in nnunetv2==2.4.2 do we need to update this when fixed
      # https://github.com/MIC-DKFZ/nnUNet/issues/2144
      "nnunetv2<=2.4.2",
      "psutil",
      "blosc2<3.9.0"
  ]
  
  [project.urls]
  homepage = "https://github.com/neuropoly/totalspineseg"
  repository = "https://github.com/neuropoly/totalspineseg"
  Dataset101_TotalSpineSeg_step1 = "https://github.com/neuropoly/totalspineseg/releases/download/r20241115/Dataset101_TotalSpineSeg_step1_r20241115.zip"
  Dataset102_TotalSpineSeg_step2 = "https://github.com/neuropoly/totalspineseg/releases/download/r20241115/Dataset102_TotalSpineSeg_step2_r20241115.zip"
  
  [project.scripts]
  totalspineseg = "totalspineseg.inference:main"
  totalspineseg_init = "totalspineseg.init_inference:main"
  totalspineseg_cpdir = "totalspineseg.utils.cpdir:main"
  totalspineseg_fill_canal = "totalspineseg.utils.fill_canal:main"
  totalspineseg_augment = "totalspineseg.utils.augment:main"
  totalspineseg_iterative_label = "totalspineseg.utils.iterative_label:main"
  totalspineseg_largest_component = "totalspineseg.utils.largest_component:main"
  totalspineseg_resample = "totalspineseg.utils.resample:main"
  totalspineseg_preview_jpg = "totalspineseg.utils.preview_jpg:main"
  totalspineseg_map_labels = "totalspineseg.utils.map_labels:main"
  totalspineseg_transform_seg2image = "totalspineseg.utils.transform_seg2image:main"
  totalspineseg_reorient_canonical = "totalspineseg.utils.reorient_canonical:main"
  totalspineseg_average4d = "totalspineseg.utils.average4d:main"
  totalspineseg_crop_image2seg = "totalspineseg.utils.crop_image2seg:main"
  totalspineseg_extract_soft = "totalspineseg.utils.extract_soft:main"
  totalspineseg_extract_levels = "totalspineseg.utils.extract_levels:main"
  totalspineseg_extract_alternate = "totalspineseg.utils.extract_alternate:main"
  totalspineseg_install_weights = "totalspineseg.utils.install_weights:main"
  totalspineseg_predict_nnunet = "totalspineseg.utils.predict_nnunet:main"
  
  [build-system]
  requires = ["pip>=23", "setuptools>=67"]
  build-backend = "setuptools.build_meta"
  
  [tool.setuptools]
  include-package-data = true
  
  [tool.setuptools.package-data]
  'totalspineseg' = ['resources/**.json']
  