projects/guix·blob version-0.13.0 · refs

130 lines · 5.0 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2017 John Darrington <[email protected]>
3;;; Copyright © 2017 Ricardo Wurmus <[email protected]>
4;;;
5;;; This file is part of GNU Guix.
6;;;
7;;; GNU Guix is free software; you can redistribute it and/or modify it
8;;; under the terms of the GNU General Public License as published by
9;;; the Free Software Foundation; either version 3 of the License, or (at
10;;; your option) any later version.
11;;;
12;;; GNU Guix is distributed in the hope that it will be useful, but
13;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15;;; GNU General Public License for more details.
16;;;
17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19
20(define-module (gnu packages image-processing)
21 #:use-module ((guix licenses) #:prefix license:)
22 #:use-module (guix packages)
23 #:use-module (guix utils)
24 #:use-module (guix download)
25 #:use-module (guix build-system cmake)
26 #:use-module (guix build-system gnu)
27 #:use-module (gnu packages)
28 #:use-module (gnu packages algebra)
29 #:use-module (gnu packages boost)
30 #:use-module (gnu packages compression)
31 #:use-module (gnu packages documentation)
32 #:use-module (gnu packages gnome)
33 #:use-module (gnu packages graphics)
34 #:use-module (gnu packages graphviz)
35 #:use-module (gnu packages image)
36 #:use-module (gnu packages maths)
37 #:use-module (gnu packages perl)
38 #:use-module (gnu packages pkg-config)
39 #:use-module (gnu packages python)
40 #:use-module (gnu packages xml)
41 #:use-module (gnu packages vtk))
42
43;; We use the latest snapshot of this package because the latest release is
44;; from 2011 and has known vulnerabilities that cannot easily be fixed by
45;; applying patches.
46(define-public dcmtk
47 (package
48 (name "dcmtk")
49 (version "3.6.1_20170228")
50 (source (origin
51 (method url-fetch)
52 (uri (string-append "ftp://dicom.offis.de/pub/dicom/offis/"
53 "software/dcmtk/snapshot/dcmtk-"
54 version ".tar.gz"))
55 (sha256
56 (base32
57 "04cwfx8yrscqcd59mxk2fh6314ckayi9cp68iql5a57pf2pg5qld"))))
58 (build-system gnu-build-system)
59 (inputs
60 `(("libtiff" ,libtiff)
61 ("libpng" ,libpng)
62 ("doxygen" ,doxygen)
63 ("zlib" ,zlib)))
64 (native-inputs
65 `(("perl" ,perl)))
66 (home-page "http://dcmtk.org")
67 (synopsis "Libraries and programs implementing parts of the DICOM standard")
68 (description "DCMTK is a collection of libraries and applications
69implementing large parts the DICOM standard. It includes software for
70examining, constructing and converting DICOM image files, handling offline
71media, sending and receiving images over a network connection, as well as
72demonstrative image storage and worklist servers.")
73 (license (license:fsf-free
74 "file://COPYRIGHT"
75 "A union of the Apache 2.0 licence and various non-copyleft
76licences similar to the Modified BSD licence."))))
77
78(define-public mia
79 (package
80 (name "mia")
81 (version "2.4.4")
82 (source (origin
83 (method url-fetch)
84 (uri (string-append "mirror://sourceforge/mia/mia/"
85 (version-major+minor version)
86 "/mia-" version ".tar.xz"))
87 (sha256
88 (base32
89 "124gvf8nkls59mlnx8ynq00n9zrah7a54gsywafx7qmfr0y95ra7"))))
90 (build-system cmake-build-system)
91 (arguments
92 `(#:configure-flags
93 (list "-DMIA_CREATE_NIPYPE_INTERFACES=0"
94 (string-append "-DCMAKE_INSTALL_LIBDIR="
95 (assoc-ref %outputs "out") "/lib")
96 "-DCMAKE_CXX_FLAGS=-fpermissive")))
97 (inputs
98 `(("boost" ,boost)
99 ("dcmtk" ,dcmtk)
100 ("doxygen" ,doxygen)
101 ("eigen" ,eigen)
102 ("fftw" ,fftw)
103 ("fftwf" ,fftwf)
104 ("gsl" ,gsl)
105 ("gts" ,gts)
106 ("hdf5" ,hdf5)
107 ("itpp" ,itpp)
108 ("libjpeg" ,libjpeg)
109 ("libpng" ,libpng)
110 ("libtiff" ,libtiff)
111 ("libxml" ,libxml2)
112 ("libxml++" ,libxml++)
113 ("maxflow" ,maxflow)
114 ("niftilib" ,niftilib)
115 ("nlopt" ,nlopt)
116 ("openexr" ,openexr)
117 ("python-lxml" ,python2-lxml)
118 ("vtk" ,vtk)))
119 (native-inputs
120 `(("pkg-config" ,pkg-config)
121 ("python" ,python-2)))
122 (home-page "http://mia.sourceforge.net")
123 (synopsis "Toolkit for gray scale medical image analysis")
124 (description "MIA provides a combination of command line tools, plug-ins,
125and libraries that make it possible run image processing tasks interactively
126in a command shell and to prototype using the shell's scripting language. It
127is built around a plug-in structure that makes it easy to add functionality
128without compromising the original code base and it makes use of a wide variety
129of external libraries that provide additional functionality.")
130 (license license:gpl3+)))