List<Matrix<? extends PArray>> image = ExternalAlgorithmCaller.readAlgARTImage(inputFile);
RankMorphology morph = BasicRankMorphology.getInstance(null, 0.5, RankPrecision.BITS_16);
List<Matrix<? extends PArray>> result = new ArrayList<Matrix<? extends PArray>>();
// simple processing: median
for (Matrix<? extends PArray> m : image) {
Matrix<? extends UpdatablePArray> r = morph.dilation(
m, Patterns.newSphereIntegerPattern(Point.origin(m.dimCount()), 0.5 * aperture));
result.add(r);
}
ExternalAlgorithmCaller.clearAlgARTImageTemporaryStatus(result);
ExternalAlgorithmCaller.writeAlgARTImage(outputFile, result, true);