summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 5020cd3ee44e5df41fc5b13f08a9a53890ec1502 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# Maintainer of this PKBGUILD file: Martino Pilia <martino.pilia@gmail.com>
pkgname=elastix
pkgver=4.9.0
pkgrel=5
pkgdesc='Toolbox for rigid and nonrigid registration of images'
arch=('x86_64')
url='http://elastix.isi.uu.nl/'
license=('apache')
provides=()
depends=('insight-toolkit>=4.13' 'ann')
makedepends=('cmake')
optdepends=()
conflicts=('elastix-git' 'elastix-bin')
source=("https://github.com/SuperElastix/elastix/archive/${pkgver}.tar.gz")
sha512sums=('5380529a27d9aef4d93147c6de3cb0930fd31851106cfb41f35556b6e6a5406058de60bdb6ec699f17631861fd518f370b0f0a170db5d254eeafb529283d618c')

prepare() {
	_build_dir="${srcdir}/${pkgname}-${pkgver}/build"

	mkdir "$_build_dir" || :
	cd "$_build_dir"

	cmake \
		-DCMAKE_INSTALL_PREFIX:PATH="/usr" \
		-DCMAKE_BUILD_TYPE:STRING=Release \
		-DCMAKE_CXX_FLAGS:STRING="--std=c++11" \
		-DBUILD_TESTING:BOOL=OFF \
		-DBUILD_SHARED_LIBS:BOOL=ON \
		-DELASTIX_IMAGE_2D_PIXELTYPES:STRING="unsigned char;short;float" \
		-DELASTIX_IMAGE_3D_PIXELTYPES:STRING="unsigned char;short;float" \
		-DELASTIX_IMAGE_4D_PIXELTYPES:STRING="unsigned char;short;float" \
		-DELASTIX_BUILD_EXECUTABLE:BOOL=ON \
		-DELASTIX_USE_OPENCL:BOOL=OFF \
		-DELASTIX_USE_OPENMP:BOOL=ON \
		-DELASTIX_USE_EIGEN:BOOL=OFF \
		-DUSE_ALL_COMPONENTS:BOOL=OFF \
		-DUSE_AdaptiveStochasticGradientDescent:BOOL=ON \
		-DUSE_AdvancedAffineTransformElastix:BOOL=ON \
		-DUSE_AdvancedBSplineTransform:BOOL=ON \
		-DUSE_AdvancedKappaStatisticMetric:BOOL=ON \
		-DUSE_AdvancedMattesMutualInformationMetric:BOOL=ON \
		-DUSE_AdvancedMeanSquaresMetric:BOOL=ON \
		-DUSE_AdvancedNormalizedCorrelationMetric:BOOL=ON \
		-DUSE_AffineDTITransformElastix:BOOL=ON \
		-DUSE_AffineLogTransformElastix:BOOL=OFF \
		-DUSE_BSplineInterpolator:BOOL=ON \
		-DUSE_BSplineInterpolatorFloat:BOOL=ON \
		-DUSE_BSplineResampleInterpolator:BOOL=ON \
		-DUSE_BSplineResampleInterpolatorFloat:BOOL=ON \
		-DUSE_BSplineStackTransform:BOOL=ON \
		-DUSE_BSplineTransformWithDiffusion:BOOL=ON \
		-DUSE_CMAEvolutionStrategy:BOOL=ON \
		-DUSE_ConjugateGradient:BOOL=ON \
		-DUSE_ConjugateGradientFRPR:BOOL=ON \
		-DUSE_CorrespondingPointsEuclideanDistanceMetric:BOOL=ON \
		-DUSE_DeformationFieldTransform:BOOL=ON \
		-DUSE_DisplacementMagnitudePenalty:BOOL=ON \
		-DUSE_DistancePreservingRigidityPenalty:BOOL=ON \
		-DUSE_EulerTransformElastix:BOOL=ON \
		-DUSE_FiniteDifferenceGradientDescent:BOOL=ON \
		-DUSE_FixedGenericPyramid:BOOL=ON \
		-DUSE_FixedRecursivePyramid:BOOL=ON \
		-DUSE_FixedShrinkingPyramid:BOOL=ON \
		-DUSE_FixedSmoothingPyramid:BOOL=ON \
		-DUSE_FullSampler:BOOL=ON \
		-DUSE_FullSearch:BOOL=ON \
		-DUSE_GradientDifferenceMetric:BOOL=ON \
		-DUSE_GridSampler:BOOL=ON \
		-DUSE_KNNGraphAlphaMutualInformationMetric:BOOL=OFF \
		-DUSE_LinearInterpolator:BOOL=ON \
		-DUSE_LinearResampleInterpolator:BOOL=ON \
		-DUSE_MissingStructurePenalty:BOOL=ON \
		-DUSE_MovingRecursivePyramid:BOOL=ON \
		-DUSE_MovingShrinkingPyramid:BOOL=ON \
		-DUSE_MovingSmoothingPyramid:BOOL=ON \
		-DUSE_MultiBSplineTransformWithNormal:BOOL=ON \
		-DUSE_MultiInputRandomCoordinateSampler:BOOL=ON \
		-DUSE_MultiMetricMultiResolutionRegistration:BOOL=ON \
		-DUSE_MultiResolutionRegistration:BOOL=ON \
		-DUSE_MultiResolutionRegistrationWithFeatures:BOOL=ON \
		-DUSE_MutualInformationHistogramMetric:BOOL=ON \
		-DUSE_MyStandardResampler:BOOL=ON \
		-DUSE_NearestNeighborInterpolator:BOOL=ON \
		-DUSE_NearestNeighborResampleInterpolator:BOOL=ON \
		-DUSE_NormalizedGradientCorrelationMetric:BOOL=ON \
		-DUSE_NormalizedMutualInformationMetric:BOOL=ON \
		-DUSE_OpenCLFixedGenericPyramid:BOOL=OFF \
		-DUSE_OpenCLMovingGenericPyramid:BOOL=OFF \
		-DUSE_OpenCLResampler:BOOL=OFF \
		-DUSE_PatternIntensityMetric:BOOL=ON \
		-DUSE_PolydataDummyPenalty:BOOL=ON \
		-DUSE_Powell:BOOL=ON \
		-DUSE_QuasiNewtonLBFGS:BOOL=ON \
		-DUSE_RSGDEachParameterApart:BOOL=ON \
		-DUSE_RandomCoordinateSampler:BOOL=ON \
		-DUSE_RandomSampler:BOOL=ON \
		-DUSE_RandomSamplerSparseMask:BOOL=ON \
		-DUSE_RayCastInterpolator:BOOL=ON \
		-DUSE_RayCastResampleInterpolator:BOOL=ON \
		-DUSE_ReducedDimensionBSplineInterpolator:BOOL=ON \
		-DUSE_ReducedDimensionBSplineResampleInterpolator:BOOL=ON \
		-DUSE_RegularStepGradientDescent:BOOL=ON \
		-DUSE_SimilarityTransformElastix:BOOL=ON \
		-DUSE_Simplex:BOOL=ON \
		-DUSE_SimultaneousPerturbation:BOOL=ON \
		-DUSE_SplineKernelTransform:BOOL=ON \
		-DUSE_StandardGradientDescent:BOOL=ON \
		-DUSE_StatisticalShapePenalty:BOOL=ON \
		-DUSE_TransformBendingEnergyPenalty:BOOL=ON \
		-DUSE_TransformRigidityPenalty:BOOL=ON \
		-DUSE_TranslationTransformElastix:BOOL=ON \
		-DUSE_VarianceOverLastDimensionMetric:BOOL=ON \
		-DUSE_ViolaWellsMutualInformationMetric:BOOL=ON \
		-DUSE_WeightedCombinationTransformElastix:BOOL=ON \
		..
}

build() {
	cd "$_build_dir"
	make
}

package() {
	cd "${srcdir}/${pkgname}-${pkgver}/build"

	make install DESTDIR="${pkgdir}"

	cd ..

	install -D -m644 \
		"LICENSE" \
		"$pkgdir/usr/share/licenses/$pkgname/LICENSE"

	install -D -m644 \
		"NOTICE" \
		"$pkgdir/usr/share/licenses/$pkgname/NOTICE"
}