1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonOlder,
6 pytestCheckHook,
7 pytest-cov-stub,
8 hatchling,
9 nibabel,
10 numpy,
11 scikit-fuzzy,
12 scipy,
13}:
14
15buildPythonPackage rec {
16 pname = "intensity-normalization";
17 version = "3.0.1";
18 pyproject = true;
19
20 disabled = pythonOlder "3.11";
21
22 src = fetchPypi {
23 pname = "intensity_normalization";
24 inherit version;
25 hash = "sha256-d5f+Ug/ta9RQjk3JwHmVJQr8g93glzf7IcmLxLeA1tQ=";
26 };
27
28 build-system = [ hatchling ];
29
30 dependencies = [
31 nibabel
32 numpy
33 scikit-fuzzy
34 scipy
35 ];
36
37 nativeCheckInputs = [
38 pytestCheckHook
39 pytest-cov-stub
40 ];
41 enabledTestPaths = [ "tests" ];
42
43 pythonImportsCheck = [
44 "intensity_normalization"
45 "intensity_normalization.adapters"
46 "intensity_normalization.domain"
47 "intensity_normalization.normalizers"
48 "intensity_normalization.services"
49 ];
50
51 meta = {
52 homepage = "https://github.com/jcreinhold/intensity-normalization";
53 description = "MRI intensity normalization tools";
54 changelog = "https://github.com/jcreinhold/intensity-normalization/releases/tag/${version}";
55 maintainers = with lib.maintainers; [ bcdarwin ];
56 license = lib.licenses.asl20;
57 mainProgram = "intensity-normalize";
58 };
59}