diff --git a/.classpath b/.classpath index 74ecefc..aa4323a 100644 --- a/.classpath +++ b/.classpath @@ -6,7 +6,7 @@ - + @@ -23,5 +23,20 @@ + + + + + + + + + + + + + + + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs index 99f26c0..abdea9a 100644 --- a/.settings/org.eclipse.core.resources.prefs +++ b/.settings/org.eclipse.core.resources.prefs @@ -1,2 +1,4 @@ eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/main/resources=UTF-8 encoding/=UTF-8 diff --git a/src/main/java/bilib/component/PanelImage.java b/src/main/java/bilib/component/PanelImage.java index 2abb46a..5037dc7 100644 --- a/src/main/java/bilib/component/PanelImage.java +++ b/src/main/java/bilib/component/PanelImage.java @@ -33,6 +33,7 @@ import java.awt.Graphics; import java.awt.Image; import java.awt.image.BufferedImage; + import javax.swing.JPanel; import resources.ImageLoader; diff --git a/src/main/java/deconvolution/algorithm/RichardsonLucy.java b/src/main/java/deconvolution/algorithm/RichardsonLucy.java index b7b3ef9..120c4a0 100644 --- a/src/main/java/deconvolution/algorithm/RichardsonLucy.java +++ b/src/main/java/deconvolution/algorithm/RichardsonLucy.java @@ -50,23 +50,108 @@ public RichardsonLucy(int iterMax) { public RealSignal call() { ComplexSignal H = fft.transform(h); ComplexSignal U = new ComplexSignal("RL-U", y.nx, y.ny, y.nz); - RealSignal x = y.duplicate(); + RealSignal x = new RealSignal("x",y.nx,y.ny,y.nz); RealSignal p = y.duplicate(); RealSignal u = y.duplicate(); + + // For vector acceleration + RealSignal yv_update = new RealSignal("yv_update",y.nx,y.ny,y.nz); + RealSignal v_vector = new RealSignal("v_vector",y.nx,y.ny,y.nz); + RealSignal v_vector1 = new RealSignal("v_vector",y.nx,y.ny,y.nz); + RealSignal xv_update = new RealSignal("xv_update",y.nx,y.ny,y.nz); + RealSignal y_vector = y.duplicate(); + RealSignal vv_update = v_vector.duplicate(); + RealSignal x_update = x.duplicate(); + //First iteration ! + float alpha1 = 0; + float alphal1 = 0; + float alphau1 = 0; + fft.transform(y_vector, U); + U.times(H); + fft.inverse(U, u); + Operations.divide(y, u, p); + fft.transform(p, U); + U.timesConjugate(H); + fft.inverse(U, u); + for (int z = 0; z < y.nz; z++) { + for (int i = 0; i < y.nx * y.ny; i++) { + System.out.print(i); + x.data[z][i]= y_vector.data[z][i] * u.data[z][i]; + } + } + Operations.subtract(x, y_vector, v_vector); + //prepare for vector + fft.transform(yv_update, U); + U.times(H); + fft.inverse(U, u); + Operations.divide(y, u, p); + fft.transform(p, U); + U.timesConjugate(H); + fft.inverse(U, u); + for (int z = 0; z < y.nz; z++) { + for (int i = 0; i < y.nx * y.ny; i++) { + xv_update.data[z][i]= yv_update.data[z][i] * u.data[z][i]; + } + } + Operations.subtract(xv_update, yv_update, v_vector1); + for (int z = 0; z < y.nz; z++) { + for (int i = 0; i < y.nx * y.ny; i++) { + alphau1+= vv_update.data[z][i] * v_vector1.data[z][i]; + alphal1 += v_vector1.data[z][i] * v_vector1.data[z][i]+0.001; + } + } + alpha1=alphau1/alphal1; + if (alpha1<0) + alpha1=(float) 0.0001; + if (alpha1>1) + alpha1=1; + y_vector=Operations.subtract(x, x_update).times(alpha1).plus(x); + + //iteration really start! while (!controller.ends(x)) { - fft.transform(x, U); + float alpha = 0; + float alphal = 0; + float alphau = 0; + // For vector acceleration + x_update = x.duplicate(); + fft.transform(y_vector, U); U.times(H); fft.inverse(U, u); Operations.divide(y, u, p); fft.transform(p, U); U.timesConjugate(H); fft.inverse(U, u); - x.times(u); + for (int z = 0; z < y.nz; z++) { + for (int i = 0; i < y.nx * y.ny; i++) { + x.data[z][i]= y_vector.data[z][i] * u.data[z][i]; + } + } + vv_update = v_vector.duplicate(); + Operations.subtract(x, y_vector, v_vector); + for (int z = 0; z < y.nz; z++) { + for (int i = 0; i < y.nx * y.ny; i++) { + alphau+= vv_update.data[z][i] * v_vector.data[z][i]; + alphal += vv_update.data[z][i] * vv_update.data[z][i]+0.001; + } + } + alpha=alphau/alphal; + if (alpha<0) + alpha=(float) 0.0001; + if (alpha>1) + alpha=1; + System.out.print(alpha); + y_vector=Operations.subtract(x, x_update).times(alpha).plus(x); } SignalCollector.free(H); SignalCollector.free(p); SignalCollector.free(u); SignalCollector.free(U); + SignalCollector.free(yv_update); + SignalCollector.free(v_vector ); + SignalCollector.free(v_vector1); + SignalCollector.free(xv_update); + SignalCollector.free(y_vector); + SignalCollector.free(vv_update); return x; } diff --git a/src/main/java/deconvolution/algorithm/RichardsonLucyTV.java b/src/main/java/deconvolution/algorithm/RichardsonLucyTV.java index 39eeea4..9723a7e 100644 --- a/src/main/java/deconvolution/algorithm/RichardsonLucyTV.java +++ b/src/main/java/deconvolution/algorithm/RichardsonLucyTV.java @@ -60,21 +60,96 @@ public RealSignal call() { RealSignal ggx = y.duplicate(); RealSignal ggy = y.duplicate(); RealSignal ggz = y.duplicate(); - RealSignal u = gx; // resued memory RealSignal p = gy; // resued memory RealSignal tv = gz; // resued memory + + // For vector acceleration + RealSignal yv_update = new RealSignal("yv_update",y.nx,y.ny,y.nz); + RealSignal v_vector = new RealSignal("v_vector",y.nx,y.ny,y.nz); + RealSignal v_vector1 = new RealSignal("v_vector",y.nx,y.ny,y.nz); + RealSignal xv_update = new RealSignal("xv_update",y.nx,y.ny,y.nz); + RealSignal y_vector = y.duplicate(); + RealSignal vv_update = v_vector.duplicate(); + RealSignal x_update = x.duplicate(); + //First iteration ! + float alpha1 = 0; + float alphal1 = 0; + float alphau1 = 0; + gradientX(y_vector, gx); + gradientY(y_vector, gy); + gradientZ(y_vector, gz); + normalize(gx, gy, gz); + gradientX(gx, ggx); + gradientY(gy, ggy); + gradientZ(gz, ggz); + compute((float)lambda, ggx, ggy, ggz, tv); + fft.transform(y_vector, U); + U.times(H); + fft.inverse(U, u); + Operations.divide(y, u, p); + fft.transform(p, U); + U.timesConjugate(H); + fft.inverse(U, u); + for (int z = 0; z < y.nz; z++) { + for (int i = 0; i < y.nx * y.ny; i++) { + System.out.print(i); + x.data[z][i]= y_vector.data[z][i] * u.data[z][i]*tv.data[z][i]; + } + } + Operations.subtract(x, y_vector, v_vector); + //prepare for vector + gradientX(yv_update, gx); + gradientY(yv_update, gy); + gradientZ(yv_update, gz); + normalize(gx, gy, gz); + gradientX(gx, ggx); + gradientY(gy, ggy); + gradientZ(gz, ggz); + compute((float)lambda, ggx, ggy, ggz, tv); + fft.transform(yv_update, U); + U.times(H); + fft.inverse(U, u); + Operations.divide(y, u, p); + fft.transform(p, U); + U.timesConjugate(H); + fft.inverse(U, u); + for (int z = 0; z < y.nz; z++) { + for (int i = 0; i < y.nx * y.ny; i++) { + xv_update.data[z][i]= yv_update.data[z][i] * u.data[z][i]*tv.data[z][i]; + } + } + Operations.subtract(xv_update, yv_update, v_vector1); + for (int z = 0; z < y.nz; z++) { + for (int i = 0; i < y.nx * y.ny; i++) { + alphau1+= vv_update.data[z][i] * v_vector1.data[z][i]; + alphal1 += v_vector1.data[z][i] * v_vector1.data[z][i]+0.001; + } + } + alpha1=alphau1/alphal1; + if (alpha1<0) + alpha1=(float) 0.0001; + if (alpha1>1) + alpha1=1; + y_vector=Operations.subtract(x, x_update).times(alpha1).plus(x); + + while(!controller.ends(x)) { - gradientX(x, gx); - gradientY(x, gy); - gradientZ(x, gz); + float alpha = 0; + float alphal = 0; + float alphau = 0; + // For vector acceleration + x_update = x.duplicate(); + gradientX(y_vector, gx); + gradientY(y_vector, gy); + gradientZ(y_vector, gz); normalize(gx, gy, gz); gradientX(gx, ggx); gradientY(gy, ggy); gradientZ(gz, ggz); compute((float)lambda, ggx, ggy, ggz, tv); - fft.transform(x, U); + fft.transform(y_vector, U); U.times(H); fft.inverse(U, u); Operations.divide(y, u, p); @@ -83,6 +158,21 @@ public RealSignal call() { fft.inverse(U, u); x.times(u); x.times(tv); + // For vector acceleration + vv_update = v_vector.duplicate(); + Operations.subtract(x, y_vector, v_vector); + for (int z = 0; z < y.nz; z++) { + for (int i = 0; i < y.nx * y.ny; i++) { + alphau += vv_update.data[z][i] * v_vector.data[z][i]; + alphal += vv_update.data[z][i] * vv_update.data[z][i]; + } + } + alpha=alphau/alphal; + if (alpha<0) + alpha=(float) 0.0001; + if (alpha>1) + alpha=1; + y_vector=Operations.subtract(x, x_update).times(alpha).plus(x); } SignalCollector.free(H); SignalCollector.free(U); @@ -92,6 +182,12 @@ public RealSignal call() { SignalCollector.free(tv); SignalCollector.free(u); SignalCollector.free(p); + SignalCollector.free(yv_update); + SignalCollector.free(v_vector ); + SignalCollector.free(v_vector1); + SignalCollector.free(xv_update); + SignalCollector.free(y_vector); + SignalCollector.free(vv_update); return x; } diff --git a/src/main/java/deconvolution/algorithm/Simulation.java b/src/main/java/deconvolution/algorithm/Simulation.java index cabbb61..688e4a9 100644 --- a/src/main/java/deconvolution/algorithm/Simulation.java +++ b/src/main/java/deconvolution/algorithm/Simulation.java @@ -33,11 +33,11 @@ import java.util.concurrent.Callable; +import bilib.tools.PsRandom; import signal.ComplexSignal; import signal.Operations; import signal.RealSignal; import signal.SignalCollector; -import bilib.tools.PsRandom; public class Simulation extends Algorithm implements Callable { diff --git a/src/main/java/deconvolution/capsule/AlgorithmCapsule.java b/src/main/java/deconvolution/capsule/AlgorithmCapsule.java index f8a1dae..2b7602b 100644 --- a/src/main/java/deconvolution/capsule/AlgorithmCapsule.java +++ b/src/main/java/deconvolution/capsule/AlgorithmCapsule.java @@ -37,9 +37,6 @@ import javax.swing.JSplitPane; import javax.swing.JViewport; -import signal.ComplexSignal; -import signal.RealSignal; -import signal.SignalCollector; import bilib.component.HTMLPane; import bilib.table.CustomizedTable; import bilib.tools.NumFormat; @@ -51,6 +48,9 @@ import deconvolutionlab.monitor.Monitors; import fft.AbstractFFT; import fft.FFT; +import signal.ComplexSignal; +import signal.RealSignal; +import signal.SignalCollector; /** * This class is a information module for the algorithm. diff --git a/src/main/java/deconvolution/capsule/ImageCapsule.java b/src/main/java/deconvolution/capsule/ImageCapsule.java index 2f7a409..63e16fa 100644 --- a/src/main/java/deconvolution/capsule/ImageCapsule.java +++ b/src/main/java/deconvolution/capsule/ImageCapsule.java @@ -31,11 +31,8 @@ package deconvolution.capsule; -import java.awt.Dimension; - import javax.swing.JSplitPane; -import bilib.component.PanelImage; import bilib.table.CustomizedTable; import bilib.tools.NumFormat; import deconvolution.Deconvolution; diff --git a/src/main/java/deconvolution/capsule/PSFCapsule.java b/src/main/java/deconvolution/capsule/PSFCapsule.java index 66fdd95..00fef43 100644 --- a/src/main/java/deconvolution/capsule/PSFCapsule.java +++ b/src/main/java/deconvolution/capsule/PSFCapsule.java @@ -31,11 +31,8 @@ package deconvolution.capsule; -import java.awt.Dimension; - import javax.swing.JSplitPane; -import bilib.component.PanelImage; import bilib.table.CustomizedTable; import bilib.tools.NumFormat; import deconvolution.Deconvolution; diff --git a/src/main/java/deconvolution/capsule/ReportCapsule.java b/src/main/java/deconvolution/capsule/ReportCapsule.java index 95e9f57..48e522c 100644 --- a/src/main/java/deconvolution/capsule/ReportCapsule.java +++ b/src/main/java/deconvolution/capsule/ReportCapsule.java @@ -31,11 +31,8 @@ package deconvolution.capsule; -import java.awt.Dimension; - import javax.swing.JSplitPane; -import bilib.component.PanelImage; import bilib.table.CustomizedTable; import deconvolution.Deconvolution; import signal.RealSignal; diff --git a/src/main/java/deconvolution/capsule/ResourcesCapsule.java b/src/main/java/deconvolution/capsule/ResourcesCapsule.java index ef6e0a4..35e9a30 100644 --- a/src/main/java/deconvolution/capsule/ResourcesCapsule.java +++ b/src/main/java/deconvolution/capsule/ResourcesCapsule.java @@ -35,14 +35,12 @@ import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.awt.event.MouseEvent; import java.util.ArrayList; import javax.swing.JButton; import javax.swing.JPanel; import javax.swing.JSplitPane; -import bilib.table.CustomizedTable; import deconvolution.Deconvolution; import deconvolutionlab.system.AbstractMeter; import deconvolutionlab.system.FFTMeter; diff --git a/src/main/java/deconvolutionlab/Lab.java b/src/main/java/deconvolutionlab/Lab.java index 2f92eb3..faca323 100644 --- a/src/main/java/deconvolutionlab/Lab.java +++ b/src/main/java/deconvolutionlab/Lab.java @@ -31,9 +31,6 @@ package deconvolutionlab; -import ij.gui.Plot; -import imagej.IJImager; - import java.awt.geom.Line2D; import java.io.File; import java.util.ArrayList; @@ -43,12 +40,6 @@ import javax.swing.JFrame; import javax.swing.JPanel; -import plugins.sage.deconvolutionlab.IcyImager; -import signal.ComplexComponent; -import signal.ComplexSignal; -import signal.RealSignal; -import signal.factory.SignalFactory; -import signal.factory.Sphere; import bilib.tools.Files; import bilib.tools.NumFormat; import bilib.tools.WebBrowser; @@ -58,6 +49,14 @@ import fft.AbstractFFT; import fft.AbstractFFTLibrary; import fft.FFT; +import ij.gui.Plot; +import imagej.IJImager; +import plugins.sage.deconvolutionlab.IcyImager; +import signal.ComplexComponent; +import signal.ComplexSignal; +import signal.RealSignal; +import signal.factory.SignalFactory; +import signal.factory.Sphere; /** * This class contains a collection of useful static methods to manage all the diff --git a/src/main/java/deconvolutionlab/module/AlgorithmModule.java b/src/main/java/deconvolutionlab/module/AlgorithmModule.java index 959c31a..a27385f 100644 --- a/src/main/java/deconvolutionlab/module/AlgorithmModule.java +++ b/src/main/java/deconvolutionlab/module/AlgorithmModule.java @@ -51,8 +51,8 @@ import deconvolution.Command; import deconvolution.Deconvolution; import deconvolution.DeconvolutionDialog; -import deconvolution.algorithm.AlgorithmPanel; import deconvolution.algorithm.AlgorithmList; +import deconvolution.algorithm.AlgorithmPanel; import deconvolutionlab.Config; import deconvolutionlab.Lab; diff --git a/src/main/java/deconvolutionlab/module/LanguageModule.java b/src/main/java/deconvolutionlab/module/LanguageModule.java index f9fe6e3..5299948 100644 --- a/src/main/java/deconvolutionlab/module/LanguageModule.java +++ b/src/main/java/deconvolutionlab/module/LanguageModule.java @@ -44,8 +44,8 @@ import bilib.component.HTMLPane; import deconvolution.Command; -import deconvolution.Deconvolution; import deconvolution.CommandToken; +import deconvolution.Deconvolution; import deconvolution.algorithm.Algorithm; import deconvolutionlab.Config; diff --git a/src/main/java/deconvolutionlab/module/PSFModule.java b/src/main/java/deconvolutionlab/module/PSFModule.java index fd3ff11..925b694 100644 --- a/src/main/java/deconvolutionlab/module/PSFModule.java +++ b/src/main/java/deconvolutionlab/module/PSFModule.java @@ -32,32 +32,21 @@ package deconvolutionlab.module; import java.awt.BorderLayout; -import java.awt.GridLayout; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.awt.dnd.DnDConstants; import java.awt.dnd.DropTarget; import java.awt.dnd.DropTargetDropEvent; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; import java.io.File; import java.io.IOException; -import java.util.ArrayList; import java.util.List; import javax.swing.BorderFactory; -import javax.swing.JButton; import javax.swing.JPanel; -import javax.swing.JToolBar; -import bilib.tools.Files; import deconvolution.Command; import deconvolutionlab.Config; -import deconvolutionlab.Lab; -import deconvolutionlab.Platform; -import deconvolutionlab.dialog.PatternDialog; -import deconvolutionlab.dialog.SyntheticDialog; import deconvolutionlab.module.dropdownbuttons.ChooseImageDropDownButton; import deconvolutionlab.module.dropdownbuttons.ShowImageDropDownButton; import signal.factory.SignalFactory; diff --git a/src/main/java/deconvolutionlab/module/PreprocessingModule.java b/src/main/java/deconvolutionlab/module/PreprocessingModule.java index 982a802..bb73c6f 100644 --- a/src/main/java/deconvolutionlab/module/PreprocessingModule.java +++ b/src/main/java/deconvolutionlab/module/PreprocessingModule.java @@ -44,13 +44,6 @@ import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; -import signal.RealSignal; -import signal.apodization.AbstractApodization; -import signal.apodization.Apodization; -import signal.apodization.UniformApodization; -import signal.padding.AbstractPadding; -import signal.padding.NoPadding; -import signal.padding.Padding; import bilib.component.GridPanel; import bilib.component.SpinnerRangeInteger; import bilib.tools.NumFormat; @@ -58,6 +51,13 @@ import deconvolution.Deconvolution; import deconvolutionlab.Config; import deconvolutionlab.monitor.Monitors; +import signal.RealSignal; +import signal.apodization.AbstractApodization; +import signal.apodization.Apodization; +import signal.apodization.UniformApodization; +import signal.padding.AbstractPadding; +import signal.padding.NoPadding; +import signal.padding.Padding; public class PreprocessingModule extends AbstractModule implements ActionListener, ChangeListener { diff --git a/src/main/java/deconvolutionlab/module/ReferenceModule.java b/src/main/java/deconvolutionlab/module/ReferenceModule.java index 165f311..3ba6970 100644 --- a/src/main/java/deconvolutionlab/module/ReferenceModule.java +++ b/src/main/java/deconvolutionlab/module/ReferenceModule.java @@ -32,33 +32,21 @@ package deconvolutionlab.module; import java.awt.BorderLayout; -import java.awt.GridLayout; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.awt.dnd.DnDConstants; import java.awt.dnd.DropTarget; import java.awt.dnd.DropTargetDropEvent; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.MouseListener; import java.io.File; import java.io.IOException; -import java.util.ArrayList; import java.util.List; import javax.swing.BorderFactory; -import javax.swing.JButton; import javax.swing.JPanel; -import javax.swing.JToolBar; -import bilib.tools.Files; import deconvolution.Command; import deconvolutionlab.Config; -import deconvolutionlab.Lab; -import deconvolutionlab.Platform; -import deconvolutionlab.dialog.PatternDialog; -import deconvolutionlab.dialog.SyntheticDialog; import deconvolutionlab.module.dropdownbuttons.ChooseImageDropDownButton; import deconvolutionlab.module.dropdownbuttons.ShowImageDropDownButton; import signal.factory.SignalFactory; diff --git a/src/main/java/deconvolutionlab/system/FFTMeter.java b/src/main/java/deconvolutionlab/system/FFTMeter.java index 9b72139..2f88686 100644 --- a/src/main/java/deconvolutionlab/system/FFTMeter.java +++ b/src/main/java/deconvolutionlab/system/FFTMeter.java @@ -32,6 +32,7 @@ package deconvolutionlab.system; import java.awt.Graphics; + import fft.FFT; public class FFTMeter extends AbstractMeter { diff --git a/src/main/java/deconvolutionlab/system/SystemInfo.java b/src/main/java/deconvolutionlab/system/SystemInfo.java index 7f5b651..70cb2cc 100644 --- a/src/main/java/deconvolutionlab/system/SystemInfo.java +++ b/src/main/java/deconvolutionlab/system/SystemInfo.java @@ -51,12 +51,12 @@ import javax.swing.JFrame; import javax.swing.JPanel; -import signal.SignalCollector; import bilib.tools.NumFormat; import deconvolutionlab.Config; import deconvolutionlab.Constants; import deconvolutionlab.Lab; import fft.FFTPanel; +import signal.SignalCollector; public class SystemInfo extends JDialog implements WindowListener, ActionListener, MouseListener { diff --git a/src/main/java/fft/jtransforms/JTransforms.java b/src/main/java/fft/jtransforms/JTransforms.java index 039d8d6..c1be550 100644 --- a/src/main/java/fft/jtransforms/JTransforms.java +++ b/src/main/java/fft/jtransforms/JTransforms.java @@ -31,13 +31,14 @@ package fft.jtransforms; -import signal.ComplexSignal; -import signal.RealSignal; import deconvolutionlab.monitor.Monitors; + import edu.emory.mathcs.jtransforms.fft.FloatFFT_2D; import edu.emory.mathcs.jtransforms.fft.FloatFFT_3D; import fft.AbstractFFT; import fft.Separability; +import signal.ComplexSignal; +import signal.RealSignal; public class JTransforms extends AbstractFFT { diff --git a/src/main/java/fft/jtransforms/JTransformsFFT_XYZ.java b/src/main/java/fft/jtransforms/JTransformsFFT_XYZ.java index 2358533..53b8bbe 100644 --- a/src/main/java/fft/jtransforms/JTransformsFFT_XYZ.java +++ b/src/main/java/fft/jtransforms/JTransformsFFT_XYZ.java @@ -31,13 +31,13 @@ package fft.jtransforms; -import signal.ComplexSignal; -import signal.RealSignal; import deconvolutionlab.monitor.Monitors; import edu.emory.mathcs.jtransforms.fft.FloatFFT_2D; import edu.emory.mathcs.jtransforms.fft.FloatFFT_3D; import fft.AbstractFFT; import fft.Separability; +import signal.ComplexSignal; +import signal.RealSignal; public class JTransformsFFT_XYZ extends AbstractFFT { diff --git a/src/main/java/fft/jtransforms/JTransformsFFT_XY_Z.java b/src/main/java/fft/jtransforms/JTransformsFFT_XY_Z.java index b6c6f09..2a4d1f8 100644 --- a/src/main/java/fft/jtransforms/JTransformsFFT_XY_Z.java +++ b/src/main/java/fft/jtransforms/JTransformsFFT_XY_Z.java @@ -31,13 +31,13 @@ package fft.jtransforms; -import signal.ComplexSignal; -import signal.RealSignal; import deconvolutionlab.monitor.Monitors; import edu.emory.mathcs.jtransforms.fft.FloatFFT_1D; import edu.emory.mathcs.jtransforms.fft.FloatFFT_2D; import fft.AbstractFFT; import fft.Separability; +import signal.ComplexSignal; +import signal.RealSignal; public class JTransformsFFT_XY_Z extends AbstractFFT { diff --git a/src/main/java/matlab/Converter.java b/src/main/java/matlab/Converter.java index a3f29c0..763a2fb 100644 --- a/src/main/java/matlab/Converter.java +++ b/src/main/java/matlab/Converter.java @@ -1,6 +1,5 @@ package matlab; -import deconvolutionlab.monitor.Monitors; import ij.ImagePlus; import ij.ImageStack; import ij.process.ByteProcessor; diff --git a/src/main/java/signal/Assessment.java b/src/main/java/signal/Assessment.java index 6b2d6b3..f018471 100644 --- a/src/main/java/signal/Assessment.java +++ b/src/main/java/signal/Assessment.java @@ -31,8 +31,6 @@ package signal; -import org.w3c.dom.Text; - public class Assessment { public static double snr(RealSignal test, RealSignal ref) { diff --git a/src/main/java/signal/Operations.java b/src/main/java/signal/Operations.java index 5e3bbe2..8fc3723 100644 --- a/src/main/java/signal/Operations.java +++ b/src/main/java/signal/Operations.java @@ -235,7 +235,7 @@ public static ComplexSignal add(ComplexSignal s1, ComplexSignal s2) { return result; } - public static ComplexSignal subtract(ComplexSignal s1, ComplexSignal s2) { + public static ComplexSignal tract(ComplexSignal s1, ComplexSignal s2) { String name = s1.name + " - " + s2.name; int nx = s1.nx; int ny = s1.ny; diff --git a/src/main/java/signal/apodization/Apodization.java b/src/main/java/signal/apodization/Apodization.java index 1420220..45c2a78 100644 --- a/src/main/java/signal/apodization/Apodization.java +++ b/src/main/java/signal/apodization/Apodization.java @@ -33,8 +33,8 @@ import java.util.ArrayList; -import signal.RealSignal; import deconvolutionlab.monitor.Monitors; +import signal.RealSignal; public class Apodization { diff --git a/src/main/java/signal/factory/Laplacian.java b/src/main/java/signal/factory/Laplacian.java index 806cfc2..ebf1acb 100644 --- a/src/main/java/signal/factory/Laplacian.java +++ b/src/main/java/signal/factory/Laplacian.java @@ -31,12 +31,12 @@ package signal.factory; -import signal.ComplexSignal; -import signal.RealSignal; -import signal.factory.complex.ComplexSignalFactory; import deconvolutionlab.monitor.Monitors; import fft.AbstractFFT; import fft.FFT; +import signal.ComplexSignal; +import signal.RealSignal; +import signal.factory.complex.ComplexSignalFactory; public class Laplacian extends SignalFactory { diff --git a/src/main/java/signal/factory/SignalFactory.java b/src/main/java/signal/factory/SignalFactory.java index 6340870..1b458bf 100644 --- a/src/main/java/signal/factory/SignalFactory.java +++ b/src/main/java/signal/factory/SignalFactory.java @@ -35,9 +35,9 @@ import javax.swing.SwingWorker; -import signal.RealSignal; import bilib.tools.NumFormat; import deconvolution.Command; +import signal.RealSignal; public abstract class SignalFactory {