jm.jigl
Class DiscreteSignal

java.lang.Object
  |
  +--jm.jigl.DiscreteSignal
All Implemented Interfaces:
Signal

public class DiscreteSignal
extends java.lang.Object
implements Signal

A discrete signal is a 1-d of shorts DiscreteSignal implements Signal

See Also:
jigl.math.DiscreteSignal

Field Summary
protected  short[] data
          One dimensional integer array
protected  int length
          Length of the Signal
 
Constructor Summary
DiscreteSignal()
          Creates an empty one dimensional DiscreteSignal with a height and width of zero
DiscreteSignal(DiscreteSignal s)
          Creates a one dimensional DiscreteSignal (shallow copy) for a DiscreteSignal
DiscreteSignal(int x)
          Creates an empty one dimensional of length x
 
Method Summary
 DiscreteSignal add(DiscreteSignal s)
          Adds another DiscreteSignal to this signal
 DiscreteSignal add(DiscreteSignal s, ROI sourceSignal, ROI destSignal)
          Divides this signal's Region of Interest by a Region of Interest of another DiscreteSignal
 DiscreteSignal add(int v)
          Adds a value to all the samples in this signal
 void add(int x, int value)
          Adds a value to a single sample
 void add(int x, int value, ROI r)
          Adds a value to a single sample
 DiscreteSignal add(int v, ROI r)
          Adds a value to all the samples in in a Region of Interest
 DiscreteSignal addbuffer(int w, int color)
          Makes a copy of this image with a buffer so the resulting image has a width x and height y
 void byteSize()
          Scales the range of this signal to byte (0..255)
 void byteSize(ROI r)
          Scales the range of a Region of Interest to byte (0..255)
 DiscreteSignal clear()
          Clears the signal to zero
 DiscreteSignal clear(int val)
          Clears to constant value
 DiscreteSignal clear(int val, ROI r)
          Clears to constant value
 DiscreteSignal clear(ROI r)
          Clears the signal to zero
 void clip(int min, int max)
          Clips the range of this signal to an arbitrary min/max
 void clip(int min, int max, ROI r)
          Clips the range of in a Region of Interest to an arbitrary min/max
 void convolve(DiscreteSignal kernel)
          Performs convolution in place with a kernel signal on this signal.
 void convolve(DiscreteSignal kernel, ROI r)
          Performs convolution in place with a kernel signal on a Region of Interest.
 Signal copy()
          Makes a deep copy of this signal
 Signal copy(ROI r)
          Makes a deep copy in a Region of Interest
 short[] data()
          Makes a shallow copy of a JIGL signal's sample buffer
 DiscreteSignal diff(DiscreteSignal s)
          Subtracts the second signal from the first and returns the absolute value
 DiscreteSignal divide(DiscreteSignal s)
          Divides this signal by a DiscreteSignal
 DiscreteSignal divide(DiscreteSignal s, ROI sourceSignal, ROI destSignal)
          Multiplies a Region of Interest of another DiscreteSignal to a Region of Interest of this signal
 DiscreteSignal divide(int v)
          Divides all the samples in this signal by a value
 void divide(int x, int value)
          Divides a single sample by a value
 void divide(int x, int value, ROI r)
          Divides a single sample by a value
 DiscreteSignal divide(int v, ROI r)
          Divides all the samples in in a Region of Interest by a value
 int get(int x)
          Returns the sample value at the given x, y value
 int get(int x, ROI r)
          Returns the sample value at the given x, y value
 int length()
          Returns the length of this signal
 int max()
          Finds the maximum value of this signal
 int max(ROI r)
          Finds the maximum value of in a Region of Interest
 void median(int size)
          Performs median filter on this signal
 void median(int size, ROI r)
          Performs median filter on a Region of Interest
 int min()
          Finds the minimum value of this signal
 int min(ROI r)
          Finds the minimum value of in a Region of Interest
 DiscreteSignal multiply(DiscreteSignal s)
          Multiplies a DiscreteSignal by this signal
 DiscreteSignal multiply(DiscreteSignal s, ROI sourceSignal, ROI destSignal)
          Subtracts a Region of Interest from another DiscreteSignal from a Region of Interest of this signal
 DiscreteSignal multiply(int v)
          Multiplies all the samples in this signal by a value
 void multiply(int x, int value)
          Mutiplies a single sample by a value
 void multiply(int x, int value, ROI r)
          Mutiplies a single sample by a value
 DiscreteSignal multiply(int v, ROI r)
          Multiplies all the samples in in a Region of Interest by a value
 void set(int x, int value)
          Sets the sample value at x, y to a given value
 void set(int x, int value, ROI r)
          Sets the sample value at x, y to a given value
 DiscreteSignal subtract(DiscreteSignal s)
          Subtracts a DiscreteSignal from this signal
 DiscreteSignal subtract(DiscreteSignal s, ROI sourceSignal, ROI destSignal)
          Adds a Region of Interest of another DiscreteSignal to a Region of Interest of this signal
 DiscreteSignal subtract(int v)
          Subtracts a value from all the samples in this signal
 void subtract(int x, int value)
          Subtracts a value from a single sample
 void subtract(int x, int value, ROI r)
          Subtracts a value from a single sample
 DiscreteSignal subtract(int v, ROI r)
          Subtracts a value from all the samples in in a Region of Interest
 java.lang.String toString()
          Prints the string in integer format.
 java.lang.String toString(ROI r)
          Prints the string in integer format.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

data

protected short[] data
One dimensional integer array


length

protected int length
Length of the Signal

Constructor Detail

DiscreteSignal

public DiscreteSignal()
Creates an empty one dimensional DiscreteSignal with a height and width of zero


DiscreteSignal

public DiscreteSignal(int x)
Creates an empty one dimensional of length x


DiscreteSignal

public DiscreteSignal(DiscreteSignal s)
Creates a one dimensional DiscreteSignal (shallow copy) for a DiscreteSignal

Method Detail

copy

public Signal copy()
Makes a deep copy of this signal

Specified by:
copy in interface Signal
Returns:
a deep copy of DiscreteSignal

length

public final int length()
Returns the length of this signal

Specified by:
length in interface Signal

data

public final short[] data()
Makes a shallow copy of a JIGL signal's sample buffer

Returns:
a pointer to DiscreteSignal

get

public final int get(int x)
Returns the sample value at the given x, y value

Parameters:
x - the X coordinant

set

public final void set(int x,
                      int value)
Sets the sample value at x, y to a given value

Parameters:
x - the X coordinant
value - the value to set the sample to

clear

public final DiscreteSignal clear()
Clears the signal to zero


clear

public final DiscreteSignal clear(int val)
Clears to constant value

Parameters:
val - the value to "clear" the signal to

add

public final void add(int x,
                      int value)
Adds a value to a single sample

Parameters:
x - X-coordinant
value - the value to add to the sample

subtract

public final void subtract(int x,
                           int value)
Subtracts a value from a single sample

Parameters:
x - X-coordinant
value - the value to subtract from the sample

multiply

public final void multiply(int x,
                           int value)
Mutiplies a single sample by a value

Parameters:
x - X-coordinant
value - - the value to mutiply to the sample

divide

public final void divide(int x,
                         int value)
Divides a single sample by a value

Parameters:
x - X-coordinant
value - - the value to mutiply to the sample

min

public final int min()
Finds the minimum value of this signal

Returns:
an integer containing the minimum value

max

public final int max()
Finds the maximum value of this signal

Returns:
an integer containing the maximum value

add

public final DiscreteSignal add(int v)
Adds a value to all the samples in this signal

Parameters:
v - value to be added to the samples
Returns:
this

subtract

public final DiscreteSignal subtract(int v)
Subtracts a value from all the samples in this signal

Parameters:
v - value to be added to the samples
Returns:
this

multiply

public final DiscreteSignal multiply(int v)
Multiplies all the samples in this signal by a value

Parameters:
v - value to be added to the samples
Returns:
this

divide

public final DiscreteSignal divide(int v)
Divides all the samples in this signal by a value

Parameters:
v - value to be added to the samples
Returns:
this

add

public final DiscreteSignal add(DiscreteSignal s)
Adds another DiscreteSignal to this signal

Returns:
this

addbuffer

public DiscreteSignal addbuffer(int w,
                                int color)
Makes a copy of this image with a buffer so the resulting image has a width x and height y

Returns:
a deep copy of GrayImage

subtract

public final DiscreteSignal subtract(DiscreteSignal s)
Subtracts a DiscreteSignal from this signal

Returns:
this

diff

public final DiscreteSignal diff(DiscreteSignal s)
Subtracts the second signal from the first and returns the absolute value


multiply

public final DiscreteSignal multiply(DiscreteSignal s)
Multiplies a DiscreteSignal by this signal

Returns:
this

divide

public final DiscreteSignal divide(DiscreteSignal s)
Divides this signal by a DiscreteSignal

Returns:
this

toString

public java.lang.String toString()
Prints the string in integer format.
-Example of output on an signal with width 100 and height 120:
100 : 120
10 20 32 12 32 56 40 59 42 39 43 ...

Specified by:
toString in interface Signal
Overrides:
toString in class java.lang.Object

byteSize

public void byteSize()
Scales the range of this signal to byte (0..255)


clip

public final void clip(int min,
                       int max)
Clips the range of this signal to an arbitrary min/max

Parameters:
min - minimum value
max - maximum value

convolve

public void convolve(DiscreteSignal kernel)
Performs convolution in place with a kernel signal on this signal.

Parameters:
kernel - kernel to perform the convolution with

median

public void median(int size)
Performs median filter on this signal

Parameters:
size - the size of the median filter

copy

public Signal copy(ROI r)
Makes a deep copy in a Region of Interest

Parameters:
r - Region of Interest
Returns:
a deep copy of a Region of Interest

get

public final int get(int x,
                     ROI r)
Returns the sample value at the given x, y value

Parameters:
x - the X coordinant

set

public final void set(int x,
                      int value,
                      ROI r)
Sets the sample value at x, y to a given value

Parameters:
x - the X coordinant
value - the value to set the sample to

clear

public final DiscreteSignal clear(ROI r)
Clears the signal to zero

Parameters:
r - Region of Interest

clear

public final DiscreteSignal clear(int val,
                                  ROI r)
Clears to constant value

Parameters:
val - the value to "clear" the signal to
r - Region of Interest

add

public final void add(int x,
                      int value,
                      ROI r)
Adds a value to a single sample

Parameters:
x - X-coordinant
value - the value to add to the sample
r - Region of Interest

subtract

public final void subtract(int x,
                           int value,
                           ROI r)
Subtracts a value from a single sample

Parameters:
x - X-coordinant
value - the value to subtract from the sample
r - Region of Interest

multiply

public final void multiply(int x,
                           int value,
                           ROI r)
Mutiplies a single sample by a value

Parameters:
x - X-coordinant
value - - the value to mutiply to the sample
r - Region of Interest

divide

public final void divide(int x,
                         int value,
                         ROI r)
Divides a single sample by a value

Parameters:
x - X-coordinant
value - - the value to mutiply to the sample
r - Region of Interest

min

public final int min(ROI r)
Finds the minimum value of in a Region of Interest

Parameters:
r - Region of Interest
Returns:
an integer containing the minimum value

max

public final int max(ROI r)
Finds the maximum value of in a Region of Interest

Parameters:
r - Region of Interest
Returns:
an integer containing the maximum value

add

public final DiscreteSignal add(int v,
                                ROI r)
Adds a value to all the samples in in a Region of Interest

Parameters:
v - value to be added to the samples
r - Region of Interest
Returns:
this

subtract

public final DiscreteSignal subtract(int v,
                                     ROI r)
Subtracts a value from all the samples in in a Region of Interest

Parameters:
v - value to be added to the samples
r - Region of Interest
Returns:
this

multiply

public final DiscreteSignal multiply(int v,
                                     ROI r)
Multiplies all the samples in in a Region of Interest by a value

Parameters:
v - value to be added to the samples
r - Region of Interest
Returns:
this

divide

public final DiscreteSignal divide(int v,
                                   ROI r)
Divides all the samples in in a Region of Interest by a value

Parameters:
v - value to be added to the samples
r - Region of Interest
Returns:
this

subtract

public final DiscreteSignal subtract(DiscreteSignal s,
                                     ROI sourceSignal,
                                     ROI destSignal)
Adds a Region of Interest of another DiscreteSignal to a Region of Interest of this signal

Parameters:
s - the DiscreteSignal to add
sourceSignal - Region of Interest for Source Signal
destSignal - Region of Interest for Destination Signal
Returns:
this

multiply

public final DiscreteSignal multiply(DiscreteSignal s,
                                     ROI sourceSignal,
                                     ROI destSignal)
Subtracts a Region of Interest from another DiscreteSignal from a Region of Interest of this signal

Parameters:
s - the DiscreteSignal to subtract
sourceSignal - Region of Interest for Source Signal
destSignal - Region of Interest for Destination Signal
Returns:
this

divide

public final DiscreteSignal divide(DiscreteSignal s,
                                   ROI sourceSignal,
                                   ROI destSignal)
Multiplies a Region of Interest of another DiscreteSignal to a Region of Interest of this signal

Parameters:
s - the DiscreteSignal to multiply
sourceSignal - Region of Interest for Source Signal
destSignal - Region of Interest for Destination Signal
Returns:
this

add

public final DiscreteSignal add(DiscreteSignal s,
                                ROI sourceSignal,
                                ROI destSignal)
Divides this signal's Region of Interest by a Region of Interest of another DiscreteSignal

Parameters:
s - the DiscreteSignal to divide
sourceSignal - Region of Interest for Source Signal
destSignal - Region of Interest for Destination Signal
Returns:
this

toString

public java.lang.String toString(ROI r)
Prints the string in integer format.
-Example of output on an signal with length 100:
100
10 20 32 12 32 56 40 59 42 39 43 ...


byteSize

public void byteSize(ROI r)
Scales the range of a Region of Interest to byte (0..255)

Parameters:
r - Region of Interest

clip

public final void clip(int min,
                       int max,
                       ROI r)
Clips the range of in a Region of Interest to an arbitrary min/max

Parameters:
min - minimum value
max - maximum value
r - Region of Interest

convolve

public void convolve(DiscreteSignal kernel,
                     ROI r)
Performs convolution in place with a kernel signal on a Region of Interest.

Parameters:
kernel - kernel to perform the convolution with
r - Region of Interest

median

public void median(int size,
                   ROI r)
Performs median filter on a Region of Interest

Parameters:
size - the size of the median filter
r - Region of Interest