Search in sources :

Example 11 with Fht

use of uk.ac.sussex.gdsc.core.ij.process.Fht in project GDSC-SMLM by aherbert.

the class DoubleDht2DTest method canMatchFht2.

@Test
void canMatchFht2() {
    final DoubleDht2D dht = createData();
    final DoubleDht2D dht2 = createData(centre + 1, centre + 1);
    final float[] pixels = SimpleArrayUtils.toFloat(dht.getData());
    final float[] pixels2 = SimpleArrayUtils.toFloat(dht2.getData());
    final Fht fht = new Fht(pixels, size, false);
    final Fht fht2 = new Fht(pixels2, size, false);
    dht.transform();
    dht2.transform();
    fht.transform();
    fht2.transform();
    check("fht", fht.getData(), dht.getData(), 1e-6, 1e-6);
    check("fht2", fht2.getData(), dht2.getData(), 1e-6, 1e-6);
    check("multiply", dht.multiply(dht2), fht.multiply(fht2), 1e-6, 1e-6);
    check("conjugateMultiply", dht.conjugateMultiply(dht2), fht.conjugateMultiply(fht2), 1e-6, 1e-6);
    check("divide", dht.divide(dht2), fht.divide(fht2), 1e-3, 1e-3);
}
Also used : Fht(uk.ac.sussex.gdsc.core.ij.process.Fht) Test(org.junit.jupiter.api.Test)

Example 12 with Fht

use of uk.ac.sussex.gdsc.core.ij.process.Fht in project GDSC-SMLM by aherbert.

the class FloatDht2DTest method canMatchFht2.

@Test
void canMatchFht2() {
    final FloatDht2D dht = createData();
    final FloatDht2D dht2 = createData(centre + 1, centre + 1);
    final float[] pixels = dht.getData().clone();
    final float[] pixels2 = dht2.getData().clone();
    final Fht fht = new Fht(pixels, size, false);
    final Fht fht2 = new Fht(pixels2, size, false);
    dht.transform();
    dht2.transform();
    fht.transform();
    fht2.transform();
    Assertions.assertArrayEquals(fht.getData(), dht.getData(), 1e-6f);
    Assertions.assertArrayEquals(fht2.getData(), dht2.getData(), 1e-6f);
    check("multiply", dht.multiply(dht2), fht.multiply(fht2), 1e-6f, 1e-6f);
    check("conjugateMultiply", dht.conjugateMultiply(dht2), fht.conjugateMultiply(fht2), 1e-6f, 1e-6f);
    check("divide", dht.divide(dht2), fht.divide(fht2), 1e-3f, 1e-3f);
}
Also used : Fht(uk.ac.sussex.gdsc.core.ij.process.Fht) Test(org.junit.jupiter.api.Test)

Aggregations

Fht (uk.ac.sussex.gdsc.core.ij.process.Fht)12 FloatProcessor (ij.process.FloatProcessor)7 Test (org.junit.jupiter.api.Test)3 FloatDHT_2D (org.jtransforms.dht.FloatDHT_2D)2 Nullable (uk.ac.sussex.gdsc.core.annotation.Nullable)2 SeededTest (uk.ac.sussex.gdsc.test.junit5.SeededTest)2 ImageProcessor (ij.process.ImageProcessor)1 Point (java.awt.Point)1 Rectangle (java.awt.Rectangle)1 LinkedList (java.util.LinkedList)1 Future (java.util.concurrent.Future)1 UniformRandomProvider (org.apache.commons.rng.UniformRandomProvider)1 FloatFFT_2D (org.jtransforms.fft.FloatFFT_2D)1 AlignImagesFft (uk.ac.sussex.gdsc.core.ij.AlignImagesFft)1 NullTrackProgress (uk.ac.sussex.gdsc.core.logging.NullTrackProgress)1 Ticker (uk.ac.sussex.gdsc.core.logging.Ticker)1 TrackProgress (uk.ac.sussex.gdsc.core.logging.TrackProgress)1 SpeedTag (uk.ac.sussex.gdsc.test.junit5.SpeedTag)1 TimingResult (uk.ac.sussex.gdsc.test.utils.TimingResult)1 TimingService (uk.ac.sussex.gdsc.test.utils.TimingService)1