1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6 pytestCheckHook,
7 numpy,
8 pykwalify,
9 pywavelets,
10 setuptools,
11 simpleitk,
12 six,
13 versioneer,
14}:
15
16buildPythonPackage rec {
17 pname = "pyradiomics";
18 version = "3.1.0";
19 format = "pyproject";
20
21 disabled = pythonOlder "3.6";
22
23 src = fetchFromGitHub {
24 owner = "AIM-Harvard";
25 repo = "pyradiomics";
26 tag = "v${version}";
27 hash = "sha256-/qFNN63Bbq4DUZDPmwUGj1z5pY3ujsbqFJpVXbO+b8E=";
28 name = "pyradiomics";
29 };
30
31 nativeBuildInputs = [
32 setuptools
33 versioneer
34 ];
35
36 propagatedBuildInputs = [
37 numpy
38 pykwalify
39 pywavelets
40 simpleitk
41 six
42 ];
43
44 nativeCheckInputs = [ pytestCheckHook ];
45 preCheck = ''
46 rm -rf radiomics
47 '';
48 # tries to access network at collection time:
49 disabledTestPaths = [ "tests/test_wavelet.py" ];
50 # various urllib download errors and (probably related) missing feature errors:
51 disabledTests = [
52 "brain1_shape2D-original_shape2D"
53 "brain2_shape2D-original_shape2D"
54 "breast1_shape2D-original_shape2D"
55 "lung1_shape2D-original_shape2D"
56 "lung2_shape2D-original_shape2D"
57 ];
58
59 pythonImportsCheck = [ "radiomics" ];
60
61 meta = with lib; {
62 homepage = "https://pyradiomics.readthedocs.io";
63 description = "Extraction of Radiomics features from 2D and 3D images and binary masks";
64 mainProgram = "pyradiomics";
65 changelog = "https://github.com/AIM-Harvard/pyradiomics/releases/tag/v${version}";
66 license = licenses.bsd3;
67 maintainers = with maintainers; [ bcdarwin ];
68 };
69}