diff --git a/.DS_Store b/.DS_Store index bfc2036..a45da17 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/filters.html b/filters.html index 62ee772..4f0d541 100644 --- a/filters.html +++ b/filters.html @@ -1013,7 +1013,7 @@ Image
- Image + Image
Image diff --git a/get_started.html b/get_started.html index f180cc2..caaca54 100644 --- a/get_started.html +++ b/get_started.html @@ -196,7 +196,7 @@ Image
- Image + Image
Image diff --git a/index.html b/index.html index 193694b..f37e8e7 100644 --- a/index.html +++ b/index.html @@ -331,7 +331,7 @@ Image
- Image + Image
Image diff --git a/io.html b/io.html index 005bb20..9495926 100644 --- a/io.html +++ b/io.html @@ -261,7 +261,7 @@ Image
- Image + Image
Image diff --git a/peaks.html b/peaks.html index 4b6f2fb..8637bfa 100644 --- a/peaks.html +++ b/peaks.html @@ -408,7 +408,7 @@ Image
- Image + Image
Image diff --git a/preprocess.html b/preprocess.html index e0cc0f1..dbfca11 100644 --- a/preprocess.html +++ b/preprocess.html @@ -815,7 +815,7 @@ Image
- Image + Image
Image diff --git a/res/signal/transforms/dct/dct_ortho.png b/res/signal/transforms/dct/dct_ortho.png new file mode 100644 index 0000000..d892704 Binary files /dev/null and b/res/signal/transforms/dct/dct_ortho.png differ diff --git a/res/signal/transforms/dct/dct_standard.png b/res/signal/transforms/dct/dct_standard.png new file mode 100644 index 0000000..44c9e4a Binary files /dev/null and b/res/signal/transforms/dct/dct_standard.png differ diff --git a/res/signal/transforms/dct/signal.png b/res/signal/transforms/dct/signal.png new file mode 100644 index 0000000..ff71955 Binary files /dev/null and b/res/signal/transforms/dct/signal.png differ diff --git a/res/signal/transforms/dst/dst_ortho.png b/res/signal/transforms/dst/dst_ortho.png new file mode 100644 index 0000000..61fc478 Binary files /dev/null and b/res/signal/transforms/dst/dst_ortho.png differ diff --git a/res/signal/transforms/dst/dst_standard.png b/res/signal/transforms/dst/dst_standard.png new file mode 100644 index 0000000..acbc6f5 Binary files /dev/null and b/res/signal/transforms/dst/dst_standard.png differ diff --git a/res/signal/transforms/dst/signal.png b/res/signal/transforms/dst/signal.png new file mode 100644 index 0000000..ff71955 Binary files /dev/null and b/res/signal/transforms/dst/signal.png differ diff --git a/res/signal/transforms/idct/idct_ortho.png b/res/signal/transforms/idct/idct_ortho.png new file mode 100644 index 0000000..ed5904a Binary files /dev/null and b/res/signal/transforms/idct/idct_ortho.png differ diff --git a/res/signal/transforms/idct/idct_standard.png b/res/signal/transforms/idct/idct_standard.png new file mode 100644 index 0000000..f424f87 Binary files /dev/null and b/res/signal/transforms/idct/idct_standard.png differ diff --git a/res/signal/transforms/idst/idst_ortho.png b/res/signal/transforms/idst/idst_ortho.png new file mode 100644 index 0000000..ed5904a Binary files /dev/null and b/res/signal/transforms/idst/idst_ortho.png differ diff --git a/res/signal/transforms/idst/idst_standard.png b/res/signal/transforms/idst/idst_standard.png new file mode 100644 index 0000000..d149b8f Binary files /dev/null and b/res/signal/transforms/idst/idst_standard.png differ diff --git a/speech.html b/speech.html index 7122fc3..a5ff623 100644 --- a/speech.html +++ b/speech.html @@ -295,7 +295,7 @@ Image
- Image + Image
Image diff --git a/splines.html b/splines.html index 66e7e24..cc053eb 100644 --- a/splines.html +++ b/splines.html @@ -286,7 +286,7 @@ Image
- Image + Image
Image diff --git a/transforms.html b/transforms.html index 2613ae4..aa2928c 100644 --- a/transforms.html +++ b/transforms.html @@ -118,6 +118,8 @@

Transforms

@@ -188,7 +190,7 @@

All Complex Values

_Fourier ft = new FastFourier(signal); ft.dft(); boolean onlyPositive = false; -double[] out = ft.getMagnitude(onlyPositive); //Full Absolute +double[] out = ft.getOutput(onlyPositive); //Full Absolute
@@ -234,7 +236,7 @@
Sequence Used for this Demo
_InverseFourier ift = new InverseFastFourier(complexSequence); //If transformed using FFT ift.transform(); double[] outReal = ift.getReal(); //To get only the real component -double[] outAbsolute = ift.getMagnitude(); //To get the absolute value of the complex signal +double[] outAbsolute = ift.getOutput(); //To get the absolute value of the complex signal double[][] out = ift.getComplex2D(); // To get the complex signal @@ -243,7 +245,606 @@
Sequence Used for this Demo
+ + + +
+ + +
+
+
+

Forward Sine Transform (Standard)

+
+
+
+ Image +
+
+
Signal Used for this Demo
+
+
+ Image +
+
+
+

Type 1

+
+
+

Type 2

+
+
+
+                    
+DiscreteSine f1 = new DiscreteSine(signal);
+f1.transform(1);
+// OR
+FastSine f1 = new FastSine(signal);
+f1.transform();
+
+double[] output = f1.getOutput();
+                    
+                  
+
+
+
+                    
+DiscreteSine f1 = new DiscreteSine(signal)
+f1.transform(2);
+double[] output = f1.getOutput();
+                    
+                  
+
+
+

Type 3

+
+
+

Type 4

+
+
+
+                    
+DiscreteSine f1 = new DiscreteSine(signal)
+f1.transform(3);
+double[] output = f1.getOutput();
+                    
+                  
+
+
+
+                    
+DiscreteSine f1 = new DiscreteSine(signal)
+f1.transform(4);
+double[] output = f1.getOutput();
+                    
+                  
+
+
+
+
+ + + +
+
+
+

Inverse Sine Transform (Standard)

+
+
+ + + + + + +
+ Image +
+
+
+

Type 1

+
+
+

Type 2

+
+
+
+                    
+InverseDiscreteSine if1 = new InverseDiscreteSine(transformOutput);
+if1.transform(1);
+// OR
+InverseFastSine if1 = new InverseFastSine(transformOutput);
+if1.transform();
+
+double[] output = if1.getOutput();
+                    
+                  
+
+
+
+                    
+InverseDiscreteSine if1 = new InverseDiscreteSine(transformOutput);
+if1.transform(2);
+double[] output = if1.getOutput();
+                    
+                  
+
+
+

Type 3

+
+
+

Type 4

+
+
+
+                    
+InverseDiscreteSine if1 = new InverseDiscreteSine(transformOutput);
+if1.transform(3);
+double[] output = if1.getOutput();
+                    
+                  
+
+
+
+                    
+InverseDiscreteSine if1 = new InverseDiscreteSine(transformOutput);
+if1.transform(4);
+double[] output = if1.getOutput();
+                    
+                  
+
+
+
+
+ + + +
+
+
+

Forward Sine Transform (Orthogonal)

+
+
+
+ Image +
+
+
Signal Used for this Demo
+
+
+ Image +
+
+
+

Type 1

+
+
+

Type 2

+
+
+
+                    
+DiscreteSine f1 = new DiscreteSine(signal, DiscreteSine.Normalization.ORTHOGONAL);
+f1.transform(1);
+// OR
+FastSine f1 = new FastSine(signal, FastSine.Normalization.ORTHOGONAL);
+f1.transform();
+
+double[] output = f1.getOutput();
+                    
+                  
+
+
+
+                    
+DiscreteSine f1 = new DiscreteSine(signal, DiscreteSine.Normalization.ORTHOGONAL)
+f1.transform(2);
+double[] output = f1.getOutput();
+                    
+                  
+
+
+

Type 3

+
+
+

Type 4

+
+
+
+                    
+DiscreteSine f1 = new DiscreteSine(signal, DiscreteSine.Normalization.ORTHOGONAL)
+f1.transform(3);
+double[] output = f1.getOutput();
+                    
+                  
+
+
+
+                    
+DiscreteSine f1 = new DiscreteSine(signal, DiscreteSine.Normalization.ORTHOGONAL)
+f1.transform(4);
+double[] output = f1.getOutput();
+                    
+                  
+
+
+
+
+ + + +
+
+
+

Inverse Sine Transform (Orthogonal)

+
+
+ + + + + + +
+ Image +
+
+
+

Type 1

+
+
+

Type 2

+
+
+
+                    
+InverseDiscreteSine if1 = new InverseDiscreteSine(transformOutput, InverseDiscreteSine.Normalization.ORTHOGONAL);
+if1.transform(1);
+// OR
+InverseFastSine if1 = new InverseFastSine(transformOutput);
+if1.transform();
+
+double[] output = if1.getOutput();
+                    
+                  
+
+
+
+                    
+InverseDiscreteSine if1 = new InverseDiscreteSine(transformOutput, InverseDiscreteSine.Normalization.ORTHOGONAL);
+if1.transform(2);
+double[] output = if1.getOutput();
+                    
+                  
+
+
+

Type 3

+
+
+

Type 4

+
+
+
+                    
+InverseDiscreteSine if1 = new InverseDiscreteSine(transformOutput, InverseDiscreteSine.Normalization.ORTHOGONAL);
+if1.transform(3);
+double[] output = if1.getOutput();
+                    
+                  
+
+
+
+                    
+InverseDiscreteSine if1 = new InverseDiscreteSine(transformOutput, InverseDiscreteSine.Normalization.ORTHOGONAL);
+if1.transform(4);
+double[] output = if1.getOutput();
+                    
+                  
+
+
+
+
+ +
+ +
+ + +
+
+
+

Forward Cosine Transform (Standard)

+
+
+
+ Image +
+
+
Signal Used for this Demo
+
+
+ Image +
+
+
+

Type 1

+
+
+

Type 2

+
+
+
+                    
+DiscreteCosine f1 = new DiscreteCosine(signal);
+f1.transform(1);
+// OR
+FastCosine f1 = new FastCosine(signal);
+f1.transform();
+
+double[] output = f1.getOutput();
+                    
+                  
+
+
+
+                    
+DiscreteCosine f1 = new DiscreteCosine(signal)
+f1.transform(2);
+double[] output = f1.getOutput();
+                    
+                  
+
+
+

Type 3

+
+
+

Type 4

+
+
+
+                    
+DiscreteCosine f1 = new DiscreteCosine(signal)
+f1.transform(3);
+double[] output = f1.getOutput();
+                    
+                  
+
+
+
+                    
+DiscreteCosine f1 = new DiscreteCosine(signal)
+f1.transform(4);
+double[] output = f1.getOutput();
+                    
+                  
+
+
+
+
+ + + +
+
+
+

Inverse Cosine Transform (Standard)

+
+
+ + + + + + +
+ Image +
+
+
+

Type 1

+
+
+

Type 2

+
+
+
+                    
+InverseDiscreteCosine if1 = new InverseDiscreteCosine(transformOutput);
+if1.transform(1);
+// OR
+InverseFastCosine if1 = new InverseFastCosine(transformOutput);
+if1.transform();
+
+double[] output = if1.getOutput();
+                    
+                  
+
+
+
+                    
+InverseDiscreteCosine if1 = new InverseDiscreteCosine(transformOutput);
+if1.transform(2);
+double[] output = if1.getOutput();
+                    
+                  
+
+
+

Type 3

+
+
+

Type 4

+
+
+
+                    
+InverseDiscreteCosine if1 = new InverseDiscreteCosine(transformOutput);
+if1.transform(3);
+double[] output = if1.getOutput();
+                    
+                  
+
+
+
+                    
+InverseDiscreteCosine if1 = new InverseDiscreteCosine(transformOutput);
+if1.transform(4);
+double[] output = if1.getOutput();
+                    
+                  
+
+
+
+
+ + + +
+
+
+

Forward Cosine Transform (Orthogonal)

+
+
+
+ Image +
+
+
Signal Used for this Demo
+
+
+ Image +
+
+
+

Type 1

+
+
+

Type 2

+
+
+
+                    
+DiscreteCosine f1 = new DiscreteCosine(signal, DiscreteCosine.Normalization.ORTHOGONAL);
+f1.transform(1);
+// OR
+FastCosine f1 = new FastCosine(signal, FastCosine.Normalization.ORTHOGONAL);
+f1.transform();
+
+double[] output = f1.getOutput();
+                    
+                  
+
+
+
+                    
+DiscreteCosine f1 = new DiscreteCosine(signal, DiscreteCosine.Normalization.ORTHOGONAL)
+f1.transform(2);
+double[] output = f1.getOutput();
+                    
+                  
+
+
+

Type 3

+
+
+

Type 4

+
+
+
+                    
+DiscreteCosine f1 = new DiscreteCosine(signal, DiscreteCosine.Normalization.ORTHOGONAL)
+f1.transform(3);
+double[] output = f1.getOutput();
+                    
+                  
+
+
+
+                    
+DiscreteCosine f1 = new DiscreteCosine(signal, DiscreteCosine.Normalization.ORTHOGONAL)
+f1.transform(4);
+double[] output = f1.getOutput();
+                    
+                  
+
+
+
+
+ + + +
+
+
+

Inverse Cosine Transform (Orthogonal)

+
+
+ + + + + + +
+ Image +
+
+
+

Type 1

+
+
+

Type 2

+
+
+
+                    
+InverseDiscreteCosine if1 = new InverseDiscreteCosine(transformOutput, InverseDiscreteCosine.Normalization.ORTHOGONAL);
+if1.transform(1);
+// OR
+InverseFastCosine if1 = new InverseFastCosine(transformOutput);
+if1.transform();
+
+double[] output = if1.getOutput();
+                    
+                  
+
+
+
+                    
+InverseDiscreteCosine if1 = new InverseDiscreteCosine(transformOutput, InverseDiscreteCosine.Normalization.ORTHOGONAL);
+if1.transform(2);
+double[] output = if1.getOutput();
+                    
+                  
+
+
+

Type 3

+
+
+

Type 4

+
+
+
+                    
+InverseDiscreteCosine if1 = new InverseDiscreteCosine(transformOutput, InverseDiscreteCosine.Normalization.ORTHOGONAL);
+if1.transform(3);
+double[] output = if1.getOutput();
+                    
+                  
+
+
+
+                    
+InverseDiscreteCosine if1 = new InverseDiscreteCosine(transformOutput, InverseDiscreteCosine.Normalization.ORTHOGONAL);
+if1.transform(4);
+double[] output = if1.getOutput();
+                    
+                  
+
+
+
+
+
@@ -539,7 +1140,7 @@ Image
- Image + Image
Image diff --git a/utils.html b/utils.html index e58a0d2..9caad70 100644 --- a/utils.html +++ b/utils.html @@ -2287,7 +2287,7 @@ Image
- Image + Image
Image diff --git a/windowing.html b/windowing.html index 0e9439e..94d0f93 100644 --- a/windowing.html +++ b/windowing.html @@ -687,7 +687,7 @@ Image
- Image + Image
Image