diff --git a/dist/OrientationJ-src.zip b/dist/OrientationJ-src.zip index cd996c2..22631a1 100644 Binary files a/dist/OrientationJ-src.zip and b/dist/OrientationJ-src.zip differ diff --git a/dist/OrientationJ.zip b/dist/OrientationJ.zip index bf6779e..531f6d2 100644 Binary files a/dist/OrientationJ.zip and b/dist/OrientationJ.zip differ diff --git a/dist/OrientationJ_.jar b/dist/OrientationJ_.jar index 50b84b8..76a7283 100644 Binary files a/dist/OrientationJ_.jar and b/dist/OrientationJ_.jar differ diff --git a/src/orientation/Gradient.java b/src/orientation/Gradient.java index 1b1061b..2344777 100644 --- a/src/orientation/Gradient.java +++ b/src/orientation/Gradient.java @@ -1,288 +1,286 @@ //============================================================================== // // Project: Directional Image Analysis - OrientationJ plugin // // Author: Daniel Sage // // Organization: Biomedical Imaging Group (BIG) // Ecole Polytechnique Federale de Lausanne (EPFL), Lausanne, Switzerland // // Information: // OrientationJ: http://bigwww.epfl.ch/demo/orientation/ // MonogenicJ: http://bigwww.epfl.ch/demo/monogenic/ // // // Reference on methods and plugin // Z. Püspöki, M. Storath, D. Sage, M. Unser // "Transforms and Operators for Directional Bioimage Analysis: A Survey," // Advances in Anatomy, Embryology and Cell Biology, vol. 219, Focus on Bio-Image Informatics, // Springer International Publishing, ch. 3, pp. 69-93, May 21, 2016. // // Reference on applications // E. Fonck, G.G. Feigl, J. Fasel, D. Sage, M. Unser, D.A. Ruefenacht, N. Stergiopulos // "Effect of Aging on Elastin Functionality in Human Cerebral Arteries," // Stroke, vol. 40, no. 7, pp. 2552-2556, July 2009. // // R. Rezakhaniha, A. Agianniotis, J.T.C. Schrauwen, A. Griffa, D. Sage, C.V.C. Bouten, F.N. van de Vosse, M. Unser, N. Stergiopulos // "Experimental Investigation of Collagen Waviness and Orientation in the Arterial Adventitia Using Confocal Laser Scanning Microscopy," // Biomechanics and Modeling in Mechanobiology, vol. 11, no. 3-4, pp. 461-473, 2012. // Conditions of use: You'll be free to use this software for research purposes, // but you should not redistribute it without our consent. In addition, we // expect you to include a citation or acknowledgment whenever you present or // publish results that are based on it. // // History: // - Updated (Daniel Sage, 24 January 2011) // - Added the Vector field (Daniel Sage, 1 March 2017) // //============================================================================== package orientation; import additionaluserinterface.WalkBar; import fft.ComplexSignal; import fft.FFT2D; import imageware.Builder; import imageware.ImageWare; import orientationj.WalkBarOrientationJ; import riesz.RieszTransform; public class Gradient implements Runnable { private GroupImage gim; private OrientationParameters params; private WalkBar walk; public Gradient(WalkBar walk, GroupImage gim, OrientationParameters params) { if (walk == null) walk = new WalkBarOrientationJ(); this.walk = walk; this.gim = gim; this.params = params; } public void run() { if (params.gradient == OrientationParameters.GRADIENT_CUBIC_SPLINE) gradientSpline(gim, params.sigmaLoG); else if (params.gradient == OrientationParameters.GRADIENT_GAUSSIAN) gradientGaussian(gim, 1); else if (params.gradient == OrientationParameters.GRADIENT_FOURIER_DOMAIN) gradientFourier(gim); else if (params.gradient == OrientationParameters.GRADIENT_FINITE_DIFF) gradientFiniteDifference(gim, params.sigmaLoG); else if (params.gradient == OrientationParameters.GRADIENT_RIESZ) gradientRiesz(gim); } private void gradientRiesz(GroupImage gim) { RieszTransform riesz = new RieszTransform(gim.nx, gim.ny, 1, false); ImageWare slice = Builder.create(gim.nx, gim.ny, 1, ImageWare.FLOAT); for (int t=0; t 0) { log = LaplacianOfGaussian.run(gim.source, sigmaLoG, sigmaLoG); } else { log = gim.source.convert(ImageWare.FLOAT); } for(int y=0; y 0) { log = LaplacianOfGaussian.run(gim.source, sigmaLoG, sigmaLoG); } else { log = gim.source.convert(ImageWare.FLOAT); } for(int y=0; y