NI Vision for LabVIEW

IMAQ FPGA LineProfile VI

  • Updated2023-02-21
  • 21 minute(s) read
Owning Palette: Analysis
Requires: NI Vision Development Module FPGA

Calculates the profile of a line of pixels.

Note  This VI has variable latency, which is dependent on the image size. Plug the Minimum Latency value from the Estimated Performance section into the following formula to determine the total latency.

Total Latency = [End Y * (Image Width + 1)] + [(End Y - Start Y) * 2] + End X + 7

IMAQ FPGA LineProfile U8x1

Calculates the profile of a line of pixels. The relevant pixel information is taken from the specified vector (line).

Instance Details

Supported Image Types

8-bit unsigned grayscale

IMAQ FPGA LineProfile U8x1

ccclst.gif

Pixel Bus In when Input Valid is TRUE, contains one of the following: valid pixel data, an end of line signal, or an end of image signal.

cu8.gif

Pixel Data is the value of the pixel.

cbool.gif

DV Data valid. Determines whether the Pixel Data element should be use (TRUE) or ignored (FALSE).

cbool.gif

EOL End of line. When TRUE, indicates that the end of the line has been reached.

cbool.gif

EOI End of image. When TRUE, indicates that the end of the image has been reached.

cenum.gif

Data Type is used in the block diagram for determining the type of the Pixel Bus. Unused during processing and gets optimized out of the compiled bit stream.

cnclst.gif

Line specifies the pixel coordinates of the input line. The maximum length allowed is 2600 pixels. The VI accepts new line coordinates at the first valid pixel (start) of each image. The coordinates of all the points along the line are recomputed for each new image.

Note  The point of the line that is closet to the bottom of the image must be separated from the last pixel in the image by at least the length of the line.
ci32.gif

Start X specifies the x-coordinate of the beginning point of the line.

ci32.gif

Start Y specifies the y-coordinate of the beginning point of the line.

ci32.gif

End X specifies the x-coordinate of the end point of the line.

ci32.gif

End Y specifies the y-coordinate of the end point of the line.

cbool.gif

Input Valid specifies whether the next data point has arrived for processing. Wire the Output Valid output of an upstream node to this input to transfer data from the upstream node to this node.

cbool.gif

Ready For Output specifies whether downstream nodes are ready for this node to return a new value. The default is TRUE. Use a Feedback Node to wire the Ready for Input output of a downstream node to this input of the current node.

Note  If this terminal is FALSE during a given cycle, the output valid terminal returns FALSE during that cycle.
inclst.gif

Pixel Coordinate is the point along the line represented by its x- and y-coordinates. The VI outputs the points along the line starting from the Line start point until the Line end point in consecutive cycles after all the pixel values along the line have been obtained. Output Valid is set to TRUE during the period when the VI outputs the points.

iu16.gif

X indicates the X-coordinate of the pixel

iu16.gif

Y indicates the Y-coordinate of the pixel

iu8.gif

Pixel Value returns the pixel value in the Image at the Pixel Coordinate.

inclst.gif

Statistics contains information about the pixels found along the line.

iu8.gif

Min Value returns the smallest pixel value found in the line profile.

iu8.gif

Max Value returns the largest pixel value found in the line profile.

iu32.gif

Sum returns the sum of all the pixel values found in the line profile. The mean value of all the pixels in the line profile can be caluculated by dividing the Sum by the Count.

iu32.gif

Sqr Sum returns the sum of the squared pixel values in the line profile.

The standard variation of all the pixels in the line profile can be calculated using the following equation.

Standard Variation = [SqrSum - (Sum*Sum)/Count] / (Count - 1)

Standard Deviation = sqrt (Standard Variation)

iu16.gif

Count returns the number of pixels found in the line profile.

ibool.gif

Output Valid returns TRUE if this node has computed a result that downstream nodes can use. Wire this output to the Input Valid input of a downstream node to transfer data from the node to the downstream node.

ibool.gif

Ready for Input returns TRUE if this node is ready to accept new input data. Use a Feedback Node to wire this output to the Ready for Output input of an upstream node.

Note  If this terminal returns FALSE during a given cycle, LabVIEW discards any data that other nodes send to this node during the following cycle. LabVIEW discards this data even if the Input Valid terminal is TRUE during the following cycle.

IMAQ FPGA LineProfile U8x1 Details

Note  Resource estimates are based on a 40 MHz clock.

Virtex-5

Estimated Device Utilization

  • Slice Registers: 1382
  • Slice LUTs: 10662
  • DSP48s: 1
  • Block RAMs: 0

Estimated Performance

  • Minimum Latency: 1
  • Initiation Interval: 1

Spartan-6

Estimated Device Utilization

  • Slice Registers: 968
  • Slice LUTs: 5350
  • DSP48s: 1
  • Block RAMs: 2

Estimated Performance

  • Minimum Latency: 1
  • Initiation Interval: 1

Zynq

Estimated Device Utilization

  • Slice Registers: 1250
  • Slice LUTs: 6512
  • DSP48s: 4
  • Block RAMs: 6

Estimated Performance

  • Minimum Latency: 1
  • Initiation Interval: 1

Kintex-7

Estimated Device Utilization

  • Slice Registers: 1348
  • Slice LUTs: 9740
  • DSP48s: 3
  • Block RAMs: 2

Estimated Performance

  • Minimum Latency: 1
  • Initiation Interval: 1

IMAQ FPGA LineProfile U16x1

Calculates the profile of a line of pixels. The relevant pixel information is taken from the specified vector (line).

Instance Details

Supported Image Types

16-bit unsigned grayscale

IMAQ FPGA LineProfile U16x1

ccclst.gif

Pixel Bus In when Input Valid is TRUE, contains one of the following: valid pixel data, an end of line signal, or an end of image signal.

cu16.gif

Pixel Data is the value of the pixel.

cbool.gif

DV Data valid. Determines whether the Pixel Data element should be use (TRUE) or ignored (FALSE).

cbool.gif

EOL End of line. When TRUE, indicates that the end of the line has been reached.

cbool.gif

EOI End of image. When TRUE, indicates that the end of the image has been reached.

cenum.gif

Data Type is used in the block diagram for determining the type of the Pixel Bus. Unused during processing and gets optimized out of the compiled bit stream.

cnclst.gif

Line specifies the pixel coordinates of the input line. The maximum length allowed is 2600 pixels. The VI accepts new line coordinates at the first valid pixel (start) of each image. The coordinates of all the points along the line are recomputed for each new image.

Note  The point of the line that is closet to the bottom of the image must be separated from the last pixel in the image by at least the length of the line.
ci32.gif

Start X specifies the x-coordinate of the beginning point of the line.

ci32.gif

Start Y specifies the y-coordinate of the beginning point of the line.

ci32.gif

End X specifies the x-coordinate of the end point of the line.

ci32.gif

End Y specifies the y-coordinate of the end point of the line.

cbool.gif

Input Valid specifies whether the next data point has arrived for processing. Wire the Output Valid output of an upstream node to this input to transfer data from the upstream node to this node.

cbool.gif

Ready For Output specifies whether downstream nodes are ready for this node to return a new value. The default is TRUE. Use a Feedback Node to wire the Ready for Input output of a downstream node to this input of the current node.

Note  If this terminal is FALSE during a given cycle, the output valid terminal returns FALSE during that cycle.
inclst.gif

Pixel Coordinate is the point along the line represented by its x- and y-coordinates. The VI outputs the points along the line starting from the Line start point until the Line end point in consecutive cycles after all the pixel values along the line have been obtained. Output Valid is set to TRUE during the period when the VI outputs the points.

iu16.gif

X indicates the X-coordinate of the pixel

iu16.gif

Y indicates the Y-coordinate of the pixel

iu16.gif

Pixel Value returns the pixel value in the Image at the Pixel Coordinate.

inclst.gif

Statistics contains information about the pixels found along the line.

iu16.gif

Min Value returns the smallest pixel value found in the line profile.

iu16.gif

Max Value returns the largest pixel value found in the line profile.

iu32.gif

Sum returns the sum of all the pixel values found in the line profile. The mean value of all the pixels in the line profile can be caluculated by dividing the Sum by the Count.

iu64.gif

Sqr Sum returns the sum of the squared pixel values in the line profile.

The standard variation of all the pixels in the line profile can be calculated using the following equation.

Standard Variation = [SqrSum - (Sum*Sum)/Count] / (Count - 1)

Standard Deviation = sqrt (Standard Variation)

iu16.gif

Count returns the number of pixels found in the line profile.

ibool.gif

Output Valid returns TRUE if this node has computed a result that downstream nodes can use. Wire this output to the Input Valid input of a downstream node to transfer data from the node to the downstream node.

ibool.gif

Ready for Input returns TRUE if this node is ready to accept new input data. Use a Feedback Node to wire this output to the Ready for Output input of an upstream node.

Note  If this terminal returns FALSE during a given cycle, LabVIEW discards any data that other nodes send to this node during the following cycle. LabVIEW discards this data even if the Input Valid terminal is TRUE during the following cycle.

IMAQ FPGA LineProfile U16x1 Details

Note  Resource estimates are based on a 40 MHz clock.

Virtex-5

Estimated Device Utilization

  • Slice Registers: 1622
  • Slice LUTs: 11477
  • DSP48s: 1
  • Block RAMs: 0

Estimated Performance

  • Minimum Latency: 1
  • Initiation Interval: 1

Spartan-6

Estimated Device Utilization

  • Slice Registers: 1177
  • Slice LUTs: 5717
  • DSP48s: 1
  • Block RAMs: 3

Estimated Performance

  • Minimum Latency: 1
  • Initiation Interval: 1

Zynq

Estimated Device Utilization

  • Slice Registers: 1492
  • Slice LUTs: 6771
  • DSP48s: 16
  • Block RAMs: 8

Estimated Performance

  • Minimum Latency: 1
  • Initiation Interval: 1

Kintex-7

Estimated Device Utilization

  • Slice Registers: 1588
  • Slice LUTs: 10538
  • DSP48s: 10
  • Block RAMs: 3

Estimated Performance

  • Minimum Latency: 1
  • Initiation Interval: 1

IMAQ FPGA LineProfile RGB32x1

Calculates the profile of a line of pixels. The relevant pixel information is taken from the specified vector (line).

Instance Details

Supported Image Types

32-bit RGB

IMAQ FPGA LineProfile RGB32x1

ccclst.gif

Pixel Bus In when Input Valid is TRUE, contains one of the following: valid pixel data, an end of line signal, or an end of image signal.

cnclst.gif

Pixel Data is the value of the pixel.

cu8.gif

A is the value of the alpha plane.

cu8.gif

R/H is the red or hue value of the first color plane, depending on the color mode.

cu8.gif

G/S is the green or saturation value of the second color plane, depending on the color mode.

cu8.gif

B/L is the blue or luminance value of the third color plane, depending on the color mode.

cbool.gif

DV Data valid. Determines whether the Pixel Data element should be use (TRUE) or ignored (FALSE).

cbool.gif

EOL End of line. When TRUE, indicates that the end of the line has been reached.

cbool.gif

EOI End of image. When TRUE, indicates that the end of the image has been reached.

cenum.gif

Data Type is used in the block diagram for determining the type of the Pixel Bus. Unused during processing and gets optimized out of the compiled bit stream.

cnclst.gif

Line specifies the pixel coordinates of the input line. The maximum length allowed is 2600 pixels. The VI accepts new line coordinates at the first valid pixel (start) of each image. The coordinates of all the points along the line are recomputed for each new image.

Note  The point of the line that is closet to the bottom of the image must be separated from the last pixel in the image by at least the length of the line.
ci32.gif

Start X specifies the x-coordinate of the beginning point of the line.

ci32.gif

Start Y specifies the y-coordinate of the beginning point of the line.

ci32.gif

End X specifies the x-coordinate of the end point of the line.

ci32.gif

End Y specifies the y-coordinate of the end point of the line.

cbool.gif

Input Valid specifies whether the next data point has arrived for processing. Wire the Output Valid output of an upstream node to this input to transfer data from the upstream node to this node.

cbool.gif

Ready For Output specifies whether downstream nodes are ready for this node to return a new value. The default is TRUE. Use a Feedback Node to wire the Ready for Input output of a downstream node to this input of the current node.

Note  If this terminal is FALSE during a given cycle, the output valid terminal returns FALSE during that cycle.
inclst.gif

Pixel Coordinate is the point along the line represented by its x- and y-coordinates. The VI outputs the points along the line starting from the Line start point until the Line end point in consecutive cycles after all the pixel values along the line have been obtained. Output Valid is set to TRUE during the period when the VI outputs the points.

iu16.gif

X indicates the X-coordinate of the pixel

iu16.gif

Y indicates the Y-coordinate of the pixel

iu8.gif

Pixel Value returns the grayscale pixel value in the Image at the Pixel Coordinate.

inclst.gif

Statistics contains information about the pixels found along the line.

iu8.gif

Min Value returns the smallest pixel value found in the line profile.

iu8.gif

Max Value returns the largest pixel value found in the line profile.

iu32.gif

Sum returns the sum of all the pixel values found in the line profile. The mean value of all the pixels in the line profile can be caluculated by dividing the Sum by the Count.

iu32.gif

Sqr Sum returns the sum of the squared pixel values in the line profile.

The standard variation of all the pixels in the line profile can be calculated using the following equation.

Standard Variation = [SqrSum - (Sum*Sum)/Count] / (Count - 1)

Standard Deviation = sqrt (Standard Variation)

iu16.gif

Count returns the number of pixels found in the line profile.

ibool.gif

Output Valid returns TRUE if this node has computed a result that downstream nodes can use. Wire this output to the Input Valid input of a downstream node to transfer data from the node to the downstream node.

ibool.gif

Ready for Input returns TRUE if this node is ready to accept new input data. Use a Feedback Node to wire this output to the Ready for Output input of an upstream node.

Note  If this terminal returns FALSE during a given cycle, LabVIEW discards any data that other nodes send to this node during the following cycle. LabVIEW discards this data even if the Input Valid terminal is TRUE during the following cycle.

IMAQ FPGA LineProfile RGB32x1 Details

Note  Resource estimates are based on a 40 MHz clock.

Virtex-5

Estimated Device Utilization

  • Slice Registers: 1407
  • Slice LUTs: 10736
  • DSP48s: 5
  • Block RAMs: 0

Estimated Performance

  • Minimum Latency: 1
  • Initiation Interval: 1

Spartan-6

Estimated Device Utilization

  • Slice Registers: 993
  • Slice LUTs: 5448
  • DSP48s: 3
  • Block RAMs: 2

Estimated Performance

  • Minimum Latency: 1
  • Initiation Interval: 1

Zynq

Estimated Device Utilization

  • Slice Registers: 1274
  • Slice LUTs: 6608
  • DSP48s: 8
  • Block RAMs: 6

Estimated Performance

  • Minimum Latency: 1
  • Initiation Interval: 1

Kintex-7

Estimated Device Utilization

  • Slice Registers: 1372
  • Slice LUTs: 9850
  • DSP48s: 7
  • Block RAMs: 2

Estimated Performance

  • Minimum Latency: 1
  • Initiation Interval: 1

IMAQ FPGA LineProfile HSL32x1

Calculates the profile of a line of pixels. The relevant pixel information is taken from the specified vector (line).

Instance Details

Supported Image Types

32-bit HSL

IMAQ FPGA LineProfile HSL32x1

ccclst.gif

Pixel Bus In when Input Valid is TRUE, contains one of the following: valid pixel data, an end of line signal, or an end of image signal.

cnclst.gif

Pixel Data is the value of the pixel.

cu8.gif

A is the value of the alpha plane.

cu8.gif

R/H is the red or hue value of the first color plane, depending on the color mode.

cu8.gif

G/S is the green or saturation value of the second color plane, depending on the color mode.

cu8.gif

B/L is the blue or luminance value of the third color plane, depending on the color mode.

cbool.gif

DV Data valid. Determines whether the Pixel Data element should be use (TRUE) or ignored (FALSE).

cbool.gif

EOL End of line. When TRUE, indicates that the end of the line has been reached.

cbool.gif

EOI End of image. When TRUE, indicates that the end of the image has been reached.

cenum.gif

Data Type is used in the block diagram for determining the type of the Pixel Bus. Unused during processing and gets optimized out of the compiled bit stream.

cnclst.gif

Line specifies the pixel coordinates of the input line. The maximum length allowed is 2600 pixels. The VI accepts new line coordinates at the first valid pixel (start) of each image. The coordinates of all the points along the line are recomputed for each new image.

Note  The point of the line that is closet to the bottom of the image must be separated from the last pixel in the image by at least the length of the line.
ci32.gif

Start X specifies the x-coordinate of the beginning point of the line.

ci32.gif

Start Y specifies the y-coordinate of the beginning point of the line.

ci32.gif

End X specifies the x-coordinate of the end point of the line.

ci32.gif

End Y specifies the y-coordinate of the end point of the line.

cbool.gif

Input Valid specifies whether the next data point has arrived for processing. Wire the Output Valid output of an upstream node to this input to transfer data from the upstream node to this node.

cbool.gif

Ready For Output specifies whether downstream nodes are ready for this node to return a new value. The default is TRUE. Use a Feedback Node to wire the Ready for Input output of a downstream node to this input of the current node.

Note  If this terminal is FALSE during a given cycle, the output valid terminal returns FALSE during that cycle.
inclst.gif

Pixel Coordinate is the point along the line represented by its x- and y-coordinates. The VI outputs the points along the line starting from the Line start point until the Line end point in consecutive cycles after all the pixel values along the line have been obtained. Output Valid is set to TRUE during the period when the VI outputs the points.

iu16.gif

X indicates the X-coordinate of the pixel

iu16.gif

Y indicates the Y-coordinate of the pixel

iu8.gif

Pixel Value returns the grayscale pixel value in the Image at the Pixel Coordinate.

inclst.gif

Statistics contains information about the pixels found along the line.

iu8.gif

Min Value returns the smallest pixel value found in the line profile.

iu8.gif

Max Value returns the largest pixel value found in the line profile.

iu32.gif

Sum returns the sum of all the pixel values found in the line profile. The mean value of all the pixels in the line profile can be caluculated by dividing the Sum by the Count.

iu32.gif

Sqr Sum returns the sum of the squared pixel values in the line profile.

The standard variation of all the pixels in the line profile can be calculated using the following equation.

Standard Variation = [SqrSum - (Sum*Sum)/Count] / (Count - 1)

Standard Deviation = sqrt (Standard Variation)

iu16.gif

Count returns the number of pixels found in the line profile.

ibool.gif

Output Valid returns TRUE if this node has computed a result that downstream nodes can use. Wire this output to the Input Valid input of a downstream node to transfer data from the node to the downstream node.

ibool.gif

Ready for Input returns TRUE if this node is ready to accept new input data. Use a Feedback Node to wire this output to the Ready for Output input of an upstream node.

Note  If this terminal returns FALSE during a given cycle, LabVIEW discards any data that other nodes send to this node during the following cycle. LabVIEW discards this data even if the Input Valid terminal is TRUE during the following cycle.

IMAQ FPGA LineProfile HSL32x1 Details

Note  Resource estimates are based on a 40 MHz clock.

Virtex-5

Estimated Device Utilization

  • Slice Registers: 1406
  • Slice LUTs: 10673
  • DSP48s: 1
  • Block RAMs: 0

Estimated Performance

  • Minimum Latency: 1
  • Initiation Interval: 1

Spartan-6

Estimated Device Utilization

  • Slice Registers: 992
  • Slice LUTs: 5358
  • DSP48s: 1
  • Block RAMs: 2

Estimated Performance

  • Minimum Latency: 1
  • Initiation Interval: 1

Zynq

Estimated Device Utilization

  • Slice Registers: 1274
  • Slice LUTs: 6514
  • DSP48s: 4
  • Block RAMs: 6

Estimated Performance

  • Minimum Latency: 1
  • Initiation Interval: 1

Kintex-7

Estimated Device Utilization

  • Slice Registers: 1372
  • Slice LUTs: 9765
  • DSP48s: 3
  • Block RAMs: 2

Estimated Performance

  • Minimum Latency: 1
  • Initiation Interval: 1