From 237e4da744e99b1aedcfced12977ff3d48a15754 Mon Sep 17 00:00:00 2001 From: Ben Darwin Date: Wed, 24 May 2023 12:18:09 -0400 Subject: [PATCH] python310Packages.pyradiomics: init at 3.1.0 --- .../python-modules/pyradiomics/default.nix | 71 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 73 insertions(+) create mode 100644 pkgs/development/python-modules/pyradiomics/default.nix diff --git a/pkgs/development/python-modules/pyradiomics/default.nix b/pkgs/development/python-modules/pyradiomics/default.nix new file mode 100644 index 000000000000..606f542f8f96 --- /dev/null +++ b/pkgs/development/python-modules/pyradiomics/default.nix @@ -0,0 +1,71 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, pytestCheckHook +, numpy +, pykwalify +, pywavelets +, setuptools +, simpleitk +, six +, versioneer +}: + +buildPythonPackage rec { + pname = "pyradiomics"; + version = "3.1.0"; + format = "pyproject"; + + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "AIM-Harvard"; + repo = "pyradiomics"; + rev = "refs/tags/v${version}"; + hash = "sha256-/qFNN63Bbq4DUZDPmwUGj1z5pY3ujsbqFJpVXbO+b8E="; + name = "pyradiomics"; + }; + + nativeBuildInputs = [ setuptools versioneer ]; + + propagatedBuildInputs = [ + numpy + pykwalify + pywavelets + simpleitk + six + ]; + + nativeCheckInputs = [ pytestCheckHook ]; + preCheck = '' + rm -rf radiomics + ''; + # tries to access network at collection time: + disabledTestPaths = [ "tests/test_wavelet.py" ]; + # various urllib download errors and (probably related) missing feature errors: + disabledTests = [ + "brain1_shape2D-original_shape2D" + "brain2_shape2D-original_shape2D" + "breast1_shape2D-original_shape2D" + "lung1_shape2D-original_shape2D" + "lung2_shape2D-original_shape2D" + ]; + # note the above elements of disabledTests are patterns, not exact tests, + # so simply setting `disabledTests` does not suffice: + pytestFlagsArray = [ + "-k '${toString (lib.intersperse "and" (lib.forEach disabledTests (t: "not ${t}")))}'" + ]; + + pythonImportsCheck = [ + "radiomics" + ]; + + meta = with lib; { + homepage = "https://pyradiomics.readthedocs.io"; + description = "Extraction of Radiomics features from 2D and 3D images and binary masks"; + changelog = "https://github.com/AIM-Harvard/pyradiomics/releases/tag/v${version}"; + license = licenses.bsd3; + maintainers = with maintainers; [ bcdarwin ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 127b6f008334..688633c93952 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9494,6 +9494,8 @@ self: super: with self; { pyrad = callPackage ../development/python-modules/pyrad { }; + pyradiomics = callPackage ../development/python-modules/pyradiomics { }; + pyradios = callPackage ../development/python-modules/pyradios { }; pyrainbird = callPackage ../development/python-modules/pyrainbird { };