What can I build with InstrumentLab?
Great looking user interfaces! for your DSP and control applications. The following images are a taste of what InstrumentLab has to offer.
Applications include: real time data monitoring, process control, signal analysis, digital signal analysis, video analysis, data visualization, visual instrumentation and more.
(See the “Features” tab for a more complete listing.)
InstrumentLab is a set of visual instruments and controls based on GDI+. For Delphi / C++ Builder, InstrumentLab is a set of native VCL components, and these components can be composited:
InstrumentLab is implemented using a very fast MMX optimized libraries to perform the plotting calculations, and is designed mainly for very fast real time data plotting applications, such as DSP, Audio Processing, Video and Image Processing.
- Intel MMX
- Intel Performance Primitives ( IPP )
InstrumentLab is a set of visual instruments and controls based on GDI+.
The Delphi / C++ Builder version is a set of native VCL components.
Here are some examples of the included controls:
LED Controls:
LED Controls have On/Off and multicolor indicators.
Progress Bar control:
Progress bar with multiple discrete or transitional colors, displaying with or without bars, and customizable borders.
The progress bar can be rotated.
Angular Gauge control:
Analog Clock control:
Linear Gauge control:
Thermometer Gauge control:
Segment indicator control:
Segment Gauge control:
Segment Clock control:
Segment Text control:
Spectrum control:
Matrix control:
Composite controls:
Glass Panel control:
The glass panel can be placed on top of other components to create a glass cover appearance. It can be placed over any control.
Converters
SLChangeRange | Changes the output range of the signal | |
SLDetectLevels | Detects levels in the input signal | |
SLPair | Pairs multiple data buffers together | |
SLMakeStructure | Combines elements into a strucrure | |
SLSplitStructure | Splits a structure into multiple elements |
Custom Filters
SLGenericRealValue | User defined filter for Real values | |
SLGenericReal | User defined filter for Real data | |
SLGenericFilter | User defined filter for Binary data | |
SLGenericRealMatrix | User defined generator for Real matrix data |
Generic Filters
SLGenericReal | User defined filter for Real data | |
SLGenericFilter | User defined filter for Binary data | |
SLGenericRealMatrix | User defined generator for Real matrix data | |
TLGenericFilter | User defined timing filter |
Generic Generators
SLGenericGen | User defined generator for Binary data | |
SLGenericRealGen | User defined generator for Real data |
Other
ULLabel | Rotatable label | |
ULImage | GDI+ Image | |
OpenWireStudio | Loads, executes, and exchanges data with OpenWire Studio projects |
Signal Filters
SLGenericRealValue | User defined filter for Real values | |
SLGenericReal | User defined filter for Real data | |
SLGenericFilter | User defined filter for Binary data | |
SLGenericRealMatrix | User defined generator for Real matrix data |
Signal Generators
SLGenericRealValueGen | User defined generator for Real values | |
SLGenericGen | User defined generator for Binary data | |
SLGenericRealGen | User defined generator for Real data |
Timing components
TLWatchDogTimer | Implements a Watch Dog Timer. | |
TLMainThredEvent | Allows other threads to generate main thread notifications. | |
TLClockGen | Provides clock for other components. | |
TLThreadEvent | Use this component to execute code in a separated thread | |
TLStopWatch | Use this component to implement a Stop Watch | |
TLFrequencyMeter | Use this component to implement a Frequency meter | |
TLCounter | Use this component to implement a Counter |
Transformations
SLAverageValue | Use this component to average the input values |
Visualization
ILLed | LED control with On/Off states | |
ILMultiLed | LED control with multiple states | |
ILProgressBar | Progress bar | |
ILAngularGauge | Angular gauge | |
ILGlassPanel | Rectangular, or elliptic panel covered with glass | |
ILLevelLed | LED control with gradually changing intensity and/or color based on the input value | |
ILThermometer | Thermometer gauge | |
ILAnalogClock | Analog clock | |
ILSegmentGauge | 7, 9, 14 or 16 segment gauge | |
ILSegmentIndicator | 7, 9, 14 or 16 segment indicator | |
ILSegmentClock | 7, 9, 14 or 16 segment clock | |
ILSegmentText | 7, 9, 14 or 16 segment text display | |
ILMatrixDisplay | Matrix display | |
ILSpectrumDisplay | Spectrum display | |
ILLinearGauge | Linear gauge |
Video Layers
ILLedLayer | Layer drawing LED control with On/Off states | |
ILMultiLedLayer | Layer drawing LED control with multiple states | |
ILProgressBarLayer | Layer drawing progress bar | |
ILAngularGaugeLayer | Layer drawing angular gauge | |
ILGlassPanelLayer | Layer drawing rectangular, or elliptic panel covered with glass | |
ILLevelLedLayer | Layer drawing LED control with gradually changing intensity and/or color based on the input value | |
ILThermometerLayer | Layer drawing thermometer gauge | |
ILAnalogClockLayer | Layer drawing analog clock | |
ILSegmentGaugeLayer | Layer drawing 7, 9, 14 or 16 segment gauge | |
ILSegmentIndicatorLayer | Layer drawing 7, 9, 14 or 16 segment indicator | |
ILSegmentClockLayer | Layer drawing 7, 9, 14 or 16 segment clock | |
ILSegmentTextLayer | Layer drawing 7, 9, 14 or 16 segment text display | |
ILMatrixDisplayLayer | Layer drawing matrix display | |
ILSpectrumDisplayLayer | Layer drawing spectrum display | |
ILLinearGaugeLayer | Layer drawing linear gauge | |
ULLabelLayer | Layer drawing rotatable label | |
ULImageLayer | Layer drawing image |
Matrix Layers
ILExternalLedMatrixLayer | Matrix layer drawing LED control with On/Off states | |
ILExternalMultiLedMatrixLayer | Matrix layer drawing LED control with multiple states | |
ILExternalProgressBarMatrixLayer | Matrix layer drawing progress bar | |
ILExternalAngularGaugeMatrixLayer | Matrix layer drawing angular gauge | |
ILGlassPanelMatrixLayer | Matrix layer drawing rectangular, or elliptic panel covered with glass | |
ILExternalLevelLedMatrixLayer | Matrix layer drawing LED control with gradually changing intensity and/or color based on the input value | |
ILExternalThermometerMatrixLayer | Matrix layer drawing thermometer gauge | |
ILExternalAnalogClockMatrixLayer | Matrix layer drawing analog clock | |
ILExternalSegmentGaugeMatrixLayer | Matrix layer drawing 7, 9, 14 or 16 segment gauge | |
ILExternalSegmentIndicatorMatrixLayer | Matrix layer drawing 7, 9, 14 or 16 segment indicator | |
ILExternalSegmentClockMatrixLayer | Matrix layer drawing 7, 9, 14 or 16 segment clock | |
ILExternalSegmentTextMatrixLayer | Matrix layer drawing text | |
ILExternalMatrixDisplayMatrixLayer | Matrix layer drawing matrix display | |
ILTextMatrixLayer | Matrix layer drawing text | |
ILExternalSpectrumDisplayMatrixLayer | Matrix layer drawing matrix display | |
ILExternalLinearGaugeMatrixLayer | Matrix layer drawing linear gauge | |
ULExternalLabelMatrixLayer | Matrix layer drawing external text label | |
ULImageMatrixLayer | Matrix layer drawing image |
Control Element
ILExternalLedElement | Component element drawing external LED control with On/Off states | |
ILLevelDetectLedElement | Component element drawing internal level triggered LED control | |
ILTimeDetectLedElement | Component element drawing internal time triggered LED control | |
ILExternalMultiLedElement | Component element drawing external data LED control with multiple states | |
ILProgressBarElement | Component element drawing internal data progress bar | |
ILExternalProgressBarElement | Component element drawing external data progress bar | |
ILGaugeMinMaxHandElement | Component element drawing internal data min or max angular gauge hand | |
ILExternalGaugeHandElement | Component element drawing external data angular gauge hand | |
ILExternalGaugeControlHandElement | Component element drawing external user controllable data angular gauge hand | |
ILAngularGaugeElement | Component element drawing internal data angular gauge | |
ILExternalAngularGaugeElement | Component element drawing external data angular gauge | |
ILGlassPanelElement | Component element drawing rectangular, or elliptic panel covered with glass | |
ILLevelLedElement | Component element drawing internal data LED control with gradually changing intensity and/or color based on the input value | |
ILExternalLevelLedElement | Component element drawing external data LED control with gradually changing intensity and/or color based on the input value | |
ILThermometerElement | Component element drawing internal data thermometer gauge | |
ILExternalThermometerElement | Component element drawing external data thermometer gauge | |
ILExternalClockHandElement | Component element drawing external data analog clock hand | |
ILAnalogClockElement | Component element drawing internal data analog clock | |
ILExternalAnalogClockElement | Component element drawing external data analog clock | |
ILSegmentGaugeElement | Component element drawing internal data 7, 9, 14 or 16 segment gauge | |
ILExternalSegmentGaugeElement | Component element drawing external data 7, 9, 14 or 16 segment gauge | |
ILSegmentClockElement | Component element drawing internal data 7, 9, 14 or 16 segment clock | |
ILExternalSegmentClockElement | Component element drawing external data 7, 9, 14 or 16 segment clock | |
ILExternalSegmentTextElement | Component element drawing external text data 7, 9, 14 or 16 segment indicator | |
ILExternalMatrixDisplayElement | Component element drawing external data matrix display | |
ILExternalSpectrumDisplayElement | Component element drawing external data spectrum display | |
ILLinearGaugeElement | Component element drawing internal data linear gauge | |
ILExternalLinearGaugeElement | Component element drawing external data linear gauge | |
ILExternalLinearGaugeControlHandElement | Component element drawing external user controllable data linear gauge hand | |
ILExternalLinearGaugeHandElement | Component element drawing external data linear gauge hand | |
ILLinearGaugeMinMaxHandElement | Component element drawing internal data min or max linear gauge hand | |
ULAnalogLabelElement | Component element drawing analog label | |
ULTimeLabelElement | Component element drawing time label | |
ULExternalLabelElement | Component element drawing external text label | |
ULImageElement | Component element drawing image | |
ILExternalSegmentIndicatorElement | Component element drawing external data 7, 9, 14 or 16 |
InstrumentLab What’s New
New in Version 7.8.2.271 (released on 2018-11-12)
- Added Linux support
- Added iOS support
- Added RAD Studio 10.2 Tokyo support
- Improved MAC, and Android compatibility
- Improved overlay window design for the LED and GlassPanel components
- Added TILTimeSource.tsAuto support
- Added Text Crop and DisplayPixels properties for the DisplayMatrix
- Added OnTextChanged to TULLabel
- Improved bindings API
- Pins converted to use the new Mitov.Runtime serialization
- Added OWRequiredPinAttribute support
- Added TOWIntToCardinalFormatConverter and TOWCardinalToIntegerFormatConverter
- Added TOWRealToRealComplexFormatConverter
- Added TOWRealListStatePin and TOWIntegerListStatePin
- Added Execute Process
- Added Command Line parsing and Process Execute
- Added option to disable the design time extentions
- Added Socket Binding
- Redesigned JSON Serialization
- Added TPeriodicThread
- Added initial Dynamic Type Info implementation
- Added GetIndexedSubProperty in the RTTI
- Added GetType for TObject in the RTTI
- Added support for both object and class in TMethodInfo.Invoke in the RTTI
- Enchanced Query functionality
- Added IPairCollection
- IArrayWriter renamed to ISequentialWriter
- IArrayReader renamed to ISequentialReader
- Improved Serialization Readers
- Added Reserialize
- Improved design time property editors support
- Added option to replace property collection items while keeping all compatible settings
- Added filtering for property collections
- Added support for categorized list property selection
- Added TreeView filtering support
- Updated to use the latest Delphi language features
New in Version 7.8.0.0 (released on 2016-05-03)
- Added RAD Studio 10.1 Berlin support
- Removed the old .NET 2.0 Assemblies
- Added Visual Live Binding property editors
- Added Reset to Default property editors
- Added Enum property editors
- Added Class events property editors
- Added Multi-Event property editors
- Added Make/Split Structure components
New in Version 7.7.0.0 (released on 2015-10-28)
- Added 10 Seattle support
- Added support for VS2015
- Added TOWBoolToIntFormatConverter
- Improved threading support
- Improved OpenWire Editor
- Clock pins changed to MiltiSink
- Improved Design Time Editors
- Improved JSON support
- Improved collections
- Added more Live Binding types
- Added support for hosting OpenWire Studio projects
- Added serialization support in the buffers
New in Version 7.6.0.0 (released on 2015-04-17)
- Added TTLGenericFilter
- Added more visual live binding types
- Significantly improved property Delphi editors
- Added option to Reset the peaks in the Spectrum
- Added ability to set segments of segment displays from Cardinal – unsigned integer
( Click to view Larger images. )
InstrumentLab EXAMPLES
[table id=17 /]
InstrumentLab FREQUENTLY ASKED QUESTIONS
Do I have to purchase InstrumentLab?
Is InstrumentLab multithreading? Will it stop streaming while I move the window with the mouse?
InstrumentLab INSTALLERS
Firemonkey and VCL Installer: Instrument Lab 7.8.2.288 VCL and FireMonkey 32 & 64 bit support for 10.2 Tokyo and 10.3 Rio
Updated on 2018-11-08, downloaded 23 times.
Visual C++ Installer: InstrumentLab 7.8.2.152 for Visual C++ MFC
Updated on 2018-11-12, downloaded 3453 times.
.NET Installer: InstrumentLab 7.8.2.271 for Microsoft .NET 4.0 (4.5 and 4.6 compatible)
Updated on 2018-11-08, downloaded 7343 times.
Legacy Firemonkey and VCL Installer: Instrument Lab 7.8.2.0 VCL and FireMonkey 32 & 64 bit support for XE8 to 10.1 Berlin
Updated on 2016-06-06, downloaded 1837 times.
Legacy Firemonkey and VCL Installer: Instrument Lab 7.7.0.0 VCL and FireMonkey 32 & 64 bit support for XE7 to 10 Seattle
Updated on 2016-06-06, downloaded 1837 times.
Legacy Firemonkey and VCL Installer: Instrument Lab 7.6.1.0 VCL and FireMonkey 32 & 64 bit support for XE6 to XE8
Updated on 2015-06-11, downloaded 1177 times.
Legacy Firemonkey and VCL Installer: Instrument Lab 7.5.0.0 VCL and FireMonkey 32 & 64 bit support for XE4 to XE7
Updated on 2014-11-18, downloaded 1165 times.
Legacy Firemonkey and VCL Installer: InstrumentLab 7.0.0.0 VCL and FireMonkey 32 & 64 bit support for XE3 to XE6
Updated on 2014-04-22, downloaded 1018 times.
Legacy Firemonkey and VCL Installer: InstrumentLab 6.0.0 VCL and FireMonkey (Windows only) 32 and 64 bit support for XE2 to XE4
Updated on 2013-06-13, downloaded 1565 times.
Legacy Firemonkey and VCL Installer: InstrumentLab 5.0.3 VCL and FireMonkey for XE2 Update4 Hotfix1
Updated on 2012-10-13, downloaded 908 times.
Legacy Firemonkey and VCL Installer: Legacy InstrumentLab 5.0.3 VCL and FireMonkey (Windows only) 32 and 64 bit support for 2010 to XE
Updated on 2012-10-11, downloaded 3804 times.
Legacy Firemonkey and VCL Installer: InstrumentLab 5.0.1 for Delphi/C++ Builder 5 to 2009
Updated on 2011-10-18, downloaded 11381 times.
DEMOS
These demos are executable after downloading. Also see: Demo source code downloads
Analog Clocks demo Demonstrates a variety of analog clock displays Angular Gauges demo Demonstrates a variety of angular gauges Composite Components demo Demonstrates building composite instruments, such as segment displays inside angular gauges, angular gauges inside linear gauages, etc Glass Panels demo Demonstrates adding a glass effect to any component LED Displays demo Demonstrates a variety of LED displays Linear Gauges demo Demonstrates a variety of linear gauges Matrix Display demo Demonstrates thermometers, gauges and other components on a matrix Progress Bars demo Demonstrates a number of great looking progress bars displayed horizontally, vertically — and even diagonally! Segment Clocks demo Demonstrates a variety of segment clock options Segment Gauges demoDemonstrates displaying numerical output in segment gauges Segment Indicators demoDemonstrates indicating status or alerts with segment displays Segment Text demoDemonstrates displaying arbitrary text in a segment component Thermometers demoDemonstrates a variety of analog thermometer options Spectrum demoDisplays a spectrum using TILSpectrumDisplay (which has a matrix display effect)Mitov License
Also, we offer custom licensing and vertical development of the InstrumentLab. Please direct any questions about custom licensing to Boian Mitov ( mitov@mitov.com ).