gnu: Remove redundant cmake libdir configure flags.
[jackhill/guix/guix.git] / gnu / packages / image-processing.scm
CommitLineData
504c285d
JD
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2017 John Darrington <jmd@gnu.org>
3;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
fb226b43
JD
4;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
5;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
6;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
504c285d
JD
7;;;
8;;; This file is part of GNU Guix.
9;;;
10;;; GNU Guix is free software; you can redistribute it and/or modify it
11;;; under the terms of the GNU General Public License as published by
12;;; the Free Software Foundation; either version 3 of the License, or (at
13;;; your option) any later version.
14;;;
15;;; GNU Guix is distributed in the hope that it will be useful, but
16;;; WITHOUT ANY WARRANTY; without even the implied warranty of
17;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18;;; GNU General Public License for more details.
19;;;
20;;; You should have received a copy of the GNU General Public License
21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22
23(define-module (gnu packages image-processing)
24 #:use-module ((guix licenses) #:prefix license:)
25 #:use-module (guix packages)
26 #:use-module (guix utils)
27 #:use-module (guix download)
cdb2a211 28 #:use-module (guix build-system cmake)
504c285d
JD
29 #:use-module (guix build-system gnu)
30 #:use-module (gnu packages)
cdb2a211
JD
31 #:use-module (gnu packages algebra)
32 #:use-module (gnu packages boost)
504c285d
JD
33 #:use-module (gnu packages compression)
34 #:use-module (gnu packages documentation)
fb226b43
JD
35 #:use-module (gnu packages fontutils)
36 #:use-module (gnu packages gl)
cdb2a211
JD
37 #:use-module (gnu packages gnome)
38 #:use-module (gnu packages graphics)
39 #:use-module (gnu packages graphviz)
504c285d 40 #:use-module (gnu packages image)
cdb2a211
JD
41 #:use-module (gnu packages maths)
42 #:use-module (gnu packages perl)
43 #:use-module (gnu packages pkg-config)
44 #:use-module (gnu packages python)
fb226b43
JD
45 #:use-module (gnu packages serialization)
46 #:use-module (gnu packages xiph)
cdb2a211 47 #:use-module (gnu packages xml)
98d6cdda 48 #:use-module (gnu packages xorg))
504c285d
JD
49
50;; We use the latest snapshot of this package because the latest release is
51;; from 2011 and has known vulnerabilities that cannot easily be fixed by
52;; applying patches.
53(define-public dcmtk
54 (package
55 (name "dcmtk")
56 (version "3.6.1_20170228")
57 (source (origin
58 (method url-fetch)
59 (uri (string-append "ftp://dicom.offis.de/pub/dicom/offis/"
60 "software/dcmtk/snapshot/dcmtk-"
61 version ".tar.gz"))
62 (sha256
63 (base32
64 "04cwfx8yrscqcd59mxk2fh6314ckayi9cp68iql5a57pf2pg5qld"))))
65 (build-system gnu-build-system)
66 (inputs
67 `(("libtiff" ,libtiff)
68 ("libpng" ,libpng)
69 ("doxygen" ,doxygen)
70 ("zlib" ,zlib)))
71 (native-inputs
72 `(("perl" ,perl)))
73 (home-page "http://dcmtk.org")
74 (synopsis "Libraries and programs implementing parts of the DICOM standard")
75 (description "DCMTK is a collection of libraries and applications
76implementing large parts the DICOM standard. It includes software for
77examining, constructing and converting DICOM image files, handling offline
78media, sending and receiving images over a network connection, as well as
79demonstrative image storage and worklist servers.")
80 (license (license:fsf-free
81 "file://COPYRIGHT"
82 "A union of the Apache 2.0 licence and various non-copyleft
83licences similar to the Modified BSD licence."))))
cdb2a211
JD
84
85(define-public mia
86 (package
87 (name "mia")
88 (version "2.4.4")
89 (source (origin
90 (method url-fetch)
91 (uri (string-append "mirror://sourceforge/mia/mia/"
92 (version-major+minor version)
93 "/mia-" version ".tar.xz"))
94 (sha256
95 (base32
96 "124gvf8nkls59mlnx8ynq00n9zrah7a54gsywafx7qmfr0y95ra7"))))
97 (build-system cmake-build-system)
98 (arguments
99 `(#:configure-flags
100 (list "-DMIA_CREATE_NIPYPE_INTERFACES=0"
cdb2a211
JD
101 "-DCMAKE_CXX_FLAGS=-fpermissive")))
102 (inputs
103 `(("boost" ,boost)
104 ("dcmtk" ,dcmtk)
105 ("doxygen" ,doxygen)
106 ("eigen" ,eigen)
107 ("fftw" ,fftw)
108 ("fftwf" ,fftwf)
109 ("gsl" ,gsl)
110 ("gts" ,gts)
111 ("hdf5" ,hdf5)
112 ("itpp" ,itpp)
113 ("libjpeg" ,libjpeg)
114 ("libpng" ,libpng)
115 ("libtiff" ,libtiff)
116 ("libxml" ,libxml2)
117 ("libxml++" ,libxml++)
118 ("maxflow" ,maxflow)
119 ("niftilib" ,niftilib)
120 ("nlopt" ,nlopt)
121 ("openexr" ,openexr)
122 ("python-lxml" ,python2-lxml)
123 ("vtk" ,vtk)))
124 (native-inputs
125 `(("pkg-config" ,pkg-config)
126 ("python" ,python-2)))
127 (home-page "http://mia.sourceforge.net")
128 (synopsis "Toolkit for gray scale medical image analysis")
129 (description "MIA provides a combination of command line tools, plug-ins,
130and libraries that make it possible run image processing tasks interactively
131in a command shell and to prototype using the shell's scripting language. It
132is built around a plug-in structure that makes it easy to add functionality
133without compromising the original code base and it makes use of a wide variety
134of external libraries that provide additional functionality.")
135 (license license:gpl3+)))
fb226b43
JD
136
137(define-public vtk
138 (package
139 (name "vtk")
140 (version "7.1.0")
141 (source (origin
142 (method url-fetch)
143 (uri (string-append "http://www.vtk.org/files/release/"
144 (version-major+minor version)
145 "/VTK-" version ".tar.gz"))
146 (sha256
147 (base32
148 "0yj96z58haan77gzilnqp7xpf8hg5jk11a3jx55p2ksd400s0gjz"))))
149 (build-system cmake-build-system)
150 (arguments
151 '(#:build-type "Release" ;Build without '-g' to save space.
152 ;; -DVTK_USE_SYSTEM_NETCDF:BOOL=TRUE requires netcdf_cxx
153 #:configure-flags '("-DVTK_USE_SYSTEM_EXPAT:BOOL=TRUE"
154 "-DVTK_USE_SYSTEM_FREETYPE:BOOL=TRUE"
155 "-DVTK_USE_SYSTEM_HDF5:BOOL=TRUE"
156 "-DVTK_USE_SYSTEM_JPEG:BOOL=TRUE"
157 "-DVTK_USE_SYSTEM_JSONCPP:BOOL=TRUE"
158 "-DVTK_USE_SYSTEM_LIBXML2:BOOL=TRUE"
159 "-DVTK_USE_SYSTEM_OGGTHEORA:BOOL=TRUE"
160 "-DVTK_USE_SYSTEM_PNG:BOOL=TRUE"
161 "-DVTK_USE_SYSTEM_TIFF:BOOL=TRUE"
162 "-DVTK_USE_SYSTEM_ZLIB:BOOL=TRUE")
163 #:tests? #f)) ;XXX: no "test" target
164 (inputs
165 `(("libXt" ,libxt)
166 ("xproto" ,xproto)
167 ("libX11" ,libx11)
168 ("libxml2" ,libxml2)
169 ("mesa" ,mesa)
170 ("glu" ,glu)
171 ("expat" ,expat)
172 ("freetype" ,freetype)
173 ("hdf5" ,hdf5)
174 ("jpeg" ,libjpeg)
175 ("jsoncpp" ,jsoncpp)
176 ("libogg" ,libogg)
177 ("libtheora" ,libtheora)
178 ("png" ,libpng)
179 ("tiff" ,libtiff)
180 ("zlib" ,zlib)))
181 (home-page "http://www.vtk.org/")
182 (synopsis "Libraries for 3D computer graphics")
183 (description
184 "The Visualization Toolkit (VTK) is a C++ library for 3D computer graphics,
185image processing and visualization. It supports a wide variety of
186visualization algorithms including: scalar, vector, tensor, texture, and
187volumetric methods; and advanced modeling techniques such as: implicit
188modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay
189triangulation. VTK has an extensive information visualization framework, has
190a suite of 3D interaction widgets, supports parallel processing, and
191integrates with various databases on GUI toolkits such as Qt and Tk.")
192 (license license:bsd-3)))