summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: dff6ccdcf03c568f9ff462603e5f538499d96ef8 (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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
# Maintainer: Martino Pilia <martino.pilia@gmail.com>
pkgname=elastix
pkgver=5.1.0
pkgrel=1
pkgdesc='Toolbox for rigid and nonrigid registration of images'
arch=('x86_64')
url='https://github.com/SuperElastix/elastix'
license=('apache')
provides=()
depends=(
    'ann'
    'eigen'
    'insight-toolkit>=5.3.0'
    'openjpeg2'
)
makedepends=('cmake')
optdepends=()
conflicts=('elastix-git' 'elastix-bin')
source=("${url}/archive/${pkgver}.tar.gz")
sha256sums=('f2e3e33359d1e35cb986bc1eb7a1b0179cdb20a67e410ac8423102a160bfc29e')

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

    cmake \
        . \
        -B build \
        -DCMAKE_INSTALL_PREFIX:PATH="/usr" \
        -DCMAKE_BUILD_TYPE:STRING=Release \
        -DCMAKE_CXX_FLAGS:STRING="--std=c++14" \
        -DBUILD_TESTING:BOOL=OFF \
        -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_IMAGE_DIMENSIONS:STRING="2;3;4" \
        -DELASTIX_USER_COMPONENT_DIRS:PATH="" \
        -DELASTIX_USE_OPENCL:BOOL=OFF \
        -DELASTIX_USE_OPENMP:BOOL=ON \
        -DELASTIX_USE_EIGEN:BOOL=OFF \
        -DUSE_ALL_COMPONENTS:BOOL=OFF \
        -DUSE_AdaGrad:BOOL=ON \
        -DUSE_AdaptiveStochasticGradientDescent:BOOL=ON \
        -DUSE_AdaptiveStochasticLBFGS:BOOL=ON \
        -DUSE_AdaptiveStochasticVarianceReducedGradient:BOOL=ON \
        -DUSE_AdvancedAffineTransformElastix:BOOL=ON \
        -DUSE_AdvancedBSplineTransform:BOOL=ON \
        -DUSE_AdvancedKappaStatisticMetric:BOOL=OFF \
        -DUSE_AdvancedMattesMutualInformationMetric:BOOL=ON \
        -DUSE_AdvancedMeanSquaresMetric:BOOL=ON \
        -DUSE_AdvancedNormalizedCorrelationMetric:BOOL=ON \
        -DUSE_AffineDTITransformElastix:BOOL=OFF \
        -DUSE_AffineLogStackTransform:BOOL=ON \
        -DUSE_AffineLogTransformElastix:BOOL=OFF \
        -DUSE_BSplineInterpolator:BOOL=ON \
        -DUSE_BSplineInterpolatorFloat:BOOL=OFF \
        -DUSE_BSplineResampleInterpolator:BOOL=ON \
        -DUSE_BSplineResampleInterpolatorFloat:BOOL=OFF \
        -DUSE_BSplineStackTransform:BOOL=ON \
        -DUSE_BSplineTransformWithDiffusion:BOOL=OFF \
        -DUSE_CMAEvolutionStrategy:BOOL=OFF \
        -DUSE_ConjugateGradient:BOOL=ON \
        -DUSE_ConjugateGradientFRPR:BOOL=OFF \
        -DUSE_CorrespondingPointsEuclideanDistanceMetric:BOOL=ON \
        -DUSE_DeformationFieldTransform:BOOL=ON \
        -DUSE_DisplacementMagnitudePenalty:BOOL=OFF \
        -DUSE_DistancePreservingRigidityPenalty:BOOL=ON \
        -DUSE_EulerStackTransform:BOOL=ON \
        -DUSE_EulerTransformElastix:BOOL=ON \
        -DUSE_FiniteDifferenceGradientDescent:BOOL=ON \
        -DUSE_FixedGenericPyramid:BOOL=ON \
        -DUSE_FixedRecursivePyramid:BOOL=ON \
        -DUSE_FixedShrinkingPyramid:BOOL=OFF \
        -DUSE_FixedSmoothingPyramid:BOOL=ON \
        -DUSE_FullSampler:BOOL=ON \
        -DUSE_FullSearch:BOOL=ON \
        -DUSE_GradientDifferenceMetric:BOOL=OFF \
        -DUSE_GridSampler:BOOL=ON \
        -DUSE_KNNGraphAlphaMutualInformationMetric:BOOL=ON \
        -DUSE_LinearInterpolator:BOOL=ON \
        -DUSE_LinearResampleInterpolator:BOOL=OFF \
        -DUSE_MissingStructurePenalty:BOOL=OFF \
        -DUSE_MovingGenericPyramid:BOOL=ON \
        -DUSE_MovingRecursivePyramid:BOOL=ON \
        -DUSE_MovingShrinkingPyramid:BOOL=OFF \
        -DUSE_MovingSmoothingPyramid:BOOL=ON \
        -DUSE_MultiBSplineTransformWithNormal:BOOL=OFF \
        -DUSE_MultiInputRandomCoordinateSampler:BOOL=ON \
        -DUSE_MultiMetricMultiResolutionRegistration:BOOL=ON \
        -DUSE_MultiResolutionRegistration:BOOL=ON \
        -DUSE_MultiResolutionRegistrationWithFeatures:BOOL=ON \
        -DUSE_MyStandardResampler:BOOL=ON \
        -DUSE_NearestNeighborInterpolator:BOOL=OFF \
        -DUSE_NearestNeighborResampleInterpolator:BOOL=OFF \
        -DUSE_NormalizedGradientCorrelationMetric:BOOL=OFF \
        -DUSE_NormalizedMutualInformationMetric:BOOL=ON \
        -DUSE_OpenCLFixedGenericPyramid:BOOL=OFF \
        -DUSE_OpenCLMovingGenericPyramid:BOOL=OFF \
        -DUSE_OpenCLResampler:BOOL=OFF \
        -DUSE_PCAMetric:BOOL=ON \
        -DUSE_PCAMetric2:BOOL=ON \
        -DUSE_PatternIntensityMetric:BOOL=OFF \
        -DUSE_PolydataDummyPenalty:BOOL=OFF \
        -DUSE_Powell:BOOL=ON \
        -DUSE_PreconditionedGradientDescent:BOOL=OFF \
        -DUSE_PreconditionedStochasticGradientDescent:BOOL=ON \
        -DUSE_QuasiNewtonLBFGS:BOOL=ON \
        -DUSE_RSGDEachParameterApart:BOOL=OFF \
        -DUSE_RandomCoordinateSampler:BOOL=ON \
        -DUSE_RandomSampler:BOOL=ON \
        -DUSE_RandomSamplerSparseMask:BOOL=ON \
        -DUSE_RayCastInterpolator:BOOL=OFF \
        -DUSE_RayCastResampleInterpolator:BOOL=OFF \
        -DUSE_RecursiveBSplineTransform:BOOL=ON \
        -DUSE_ReducedDimensionBSplineInterpolator:BOOL=ON \
        -DUSE_ReducedDimensionBSplineResampleInterpolator:BOOL=ON \
        -DUSE_RegularStepGradientDescent:BOOL=ON \
        -DUSE_SimilarityTransformElastix:BOOL=OFF \
        -DUSE_Simplex:BOOL=OFF \
        -DUSE_SimultaneousPerturbation:BOOL=OFF \
        -DUSE_SplineKernelTransform:BOOL=ON \
        -DUSE_StandardGradientDescent:BOOL=ON \
        -DUSE_StatisticalShapePenalty:BOOL=OFF \
        -DUSE_SumOfPairwiseCorrelationCoefficientsMetric:BOOL=ON \
        -DUSE_SumSquaredTissueVolumeDifferenceMetric:BOOL=ON \
        -DUSE_TransformBendingEnergyPenalty:BOOL=ON \
        -DUSE_TransformRigidityPenalty:BOOL=ON \
        -DUSE_TranslationStackTransform:BOOL=ON \
        -DUSE_TranslationTransformElastix:BOOL=ON \
        -DUSE_VarianceOverLastDimensionMetric:BOOL=ON \
        -DUSE_WeightedCombinationTransformElastix:BOOL=OFF
}

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

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

    DESTDIR="$pkgdir/" cmake --install build

    cd "${srcdir}/${pkgname}-${pkgver}"

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

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