What can I build with InstrumentLab?

We are proud to announce the NEW OpenWire Studio

 

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:
 
  • Intel MMX
  • Intel Performance Primitives ( IPP )
 
Developed with IGDI+
 
 
InstrumentLab is fully compatible and directly integrates with SignalLabVideoLabAudioLabVisionLab, and PlotLab.

 

Our component libraries come in 3 versions a VCL – Firemonkey version (for Delphi / C++ Builder / RAD Studio XE4 to 10.1 Berlin), an MFC compatible Visual C++ version, and a .NET 2.0 and 4.0 (4.5 and 4.6 compatible) supporting Visual Studio 2005 to 2015.
 
The RAD Studio version is a set of native VCL and Firemonkey components of which all include now the powerful Mitov Runtime.
 
The Visual C++ version is a set of native Visual C++ classes (components).
 
The NET 2.0 and 4.0 (4.5 and 4.6 compatible) version is a set of managed .NET components.  The .NET version has the same performance as the native versions, and supports all the Microsoft .NET languages including Visual Basic, C#, J#, F# and C++/CLI.
 
Due to the unique architecture of the OpenWire platform, the components are implemented the same way in Managed .NET and native Windows (32 and 64 bit) environments. The code to control a component from VB.NET, C++/CLI, C#, and J#, Visual C++ MFC, Delphi, and C++ Builder is almost identical. This allows the developers to migrate and share code between the different environments thus significantly improving the productivity.
 
OpenWire Libraries: for fast, complex data stream processing with almost zero lines of code!

 

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 SLChangeRange Changes the output range of the signal
SLDetectLevels SLDetectLevels Detects levels in the input signal
SLPair SLPair Pairs multiple data buffers together
SLMakeStructure SLMakeStructure Combines elements into a strucrure
SLSplitStructure SLSplitStructure Splits a structure into multiple elements

Custom Filters

SLGenericRealValue SLGenericRealValue User defined filter for Real values
SLGenericReal SLGenericReal User defined filter for Real data
SLGenericFilter SLGenericFilter User defined filter for Binary data
SLGenericRealMatrix SLGenericRealMatrix User defined generator for Real matrix data

Generic Filters

SLGenericReal SLGenericReal User defined filter for Real data
SLGenericFilter SLGenericFilter User defined filter for Binary data
SLGenericRealMatrix SLGenericRealMatrix User defined generator for Real matrix data
TLGenericFilter TLGenericFilter User defined timing filter

Generic Generators

SLGenericGen SLGenericGen User defined generator for Binary data
SLGenericRealGen SLGenericRealGen User defined generator for Real data

Other

ULLabel ULLabel Rotatable label
ULImage ULImage GDI+ Image
OpenWireStudio OpenWireStudio Loads, executes, and exchanges data with OpenWire Studio projects

Signal Filters

SLGenericRealValue SLGenericRealValue User defined filter for Real values
SLGenericReal SLGenericReal User defined filter for Real data
SLGenericFilter SLGenericFilter User defined filter for Binary data
SLGenericRealMatrix SLGenericRealMatrix User defined generator for Real matrix data

Signal Generators

SLGenericRealValueGen SLGenericRealValueGen User defined generator for Real values
SLGenericGen SLGenericGen User defined generator for Binary data
SLGenericRealGen SLGenericRealGen User defined generator for Real data

Timing components

TLWatchDogTimer TLWatchDogTimer Implements a Watch Dog Timer.
TLMainThredEvent TLMainThredEvent Allows other threads to generate main thread notifications.
TLClockGen TLClockGen Provides clock for other components.
TLThreadEvent TLThreadEvent Use this component to execute code in a separated thread
TLStopWatch TLStopWatch Use this component to implement a Stop Watch
TLFrequencyMeter TLFrequencyMeter Use this component to implement a Frequency meter
TLCounter TLCounter Use this component to implement a Counter

Transformations

SLAverageValue SLAverageValue Use this component to average the input values

Visualization

ILLed ILLed LED control with On/Off states
ILMultiLed ILMultiLed LED control with multiple states
ILProgressBar ILProgressBar Progress bar
ILAngularGauge ILAngularGauge Angular gauge
ILGlassPanel ILGlassPanel Rectangular, or elliptic panel covered with glass
ILLevelLed ILLevelLed LED control with gradually changing intensity and/or color based on the input value
ILThermometer ILThermometer Thermometer gauge
ILAnalogClock ILAnalogClock Analog clock
ILSegmentGauge ILSegmentGauge 7, 9, 14 or 16 segment gauge
ILSegmentIndicator ILSegmentIndicator 7, 9, 14 or 16 segment indicator
ILSegmentClock ILSegmentClock 7, 9, 14 or 16 segment clock
ILSegmentText ILSegmentText 7, 9, 14 or 16 segment text display
ILMatrixDisplay ILMatrixDisplay Matrix display
ILSpectrumDisplay ILSpectrumDisplay Spectrum display
ILLinearGauge ILLinearGauge Linear gauge

Video Layers

ILLedLayer ILLedLayer Layer drawing LED control with On/Off states
ILMultiLedLayer ILMultiLedLayer Layer drawing LED control with multiple states
ILProgressBarLayer ILProgressBarLayer Layer drawing progress bar
ILAngularGaugeLayer ILAngularGaugeLayer Layer drawing angular gauge
ILGlassPanelLayer ILGlassPanelLayer Layer drawing rectangular, or elliptic panel covered with glass
ILLevelLedLayer ILLevelLedLayer Layer drawing LED control with gradually changing intensity and/or color based on the input value
ILThermometerLayer ILThermometerLayer Layer drawing thermometer gauge
ILAnalogClockLayer ILAnalogClockLayer Layer drawing analog clock
ILSegmentGaugeLayer ILSegmentGaugeLayer Layer drawing 7, 9, 14 or 16 segment gauge
ILSegmentIndicatorLayer ILSegmentIndicatorLayer Layer drawing 7, 9, 14 or 16 segment indicator
ILSegmentClockLayer ILSegmentClockLayer Layer drawing 7, 9, 14 or 16 segment clock
ILSegmentTextLayer ILSegmentTextLayer Layer drawing 7, 9, 14 or 16 segment text display
ILMatrixDisplayLayer ILMatrixDisplayLayer Layer drawing matrix display
ILSpectrumDisplayLayer ILSpectrumDisplayLayer Layer drawing spectrum display
ILLinearGaugeLayer ILLinearGaugeLayer Layer drawing linear gauge
ULLabelLayer ULLabelLayer Layer drawing rotatable label
ULImageLayer ULImageLayer Layer drawing image

Matrix Layers

ILExternalLedMatrixLayer ILExternalLedMatrixLayer Matrix layer drawing LED control with On/Off states
ILExternalMultiLedMatrixLayer ILExternalMultiLedMatrixLayer Matrix layer drawing LED control with multiple states
ILExternalProgressBarMatrixLayer ILExternalProgressBarMatrixLayer Matrix layer drawing progress bar
ILExternalAngularGaugeMatrixLayer ILExternalAngularGaugeMatrixLayer Matrix layer drawing angular gauge
ILGlassPanelMatrixLayer ILGlassPanelMatrixLayer Matrix layer drawing rectangular, or elliptic panel covered with glass
ILExternalLevelLedMatrixLayer ILExternalLevelLedMatrixLayer Matrix layer drawing LED control with gradually changing intensity and/or color based on the input value
ILExternalThermometerMatrixLayer ILExternalThermometerMatrixLayer Matrix layer drawing thermometer gauge
ILExternalAnalogClockMatrixLayer ILExternalAnalogClockMatrixLayer Matrix layer drawing analog clock
ILExternalSegmentGaugeMatrixLayer ILExternalSegmentGaugeMatrixLayer Matrix layer drawing 7, 9, 14 or 16 segment gauge
ILExternalSegmentIndicatorMatrixLayer ILExternalSegmentIndicatorMatrixLayer Matrix layer drawing 7, 9, 14 or 16 segment indicator
ILExternalSegmentClockMatrixLayer ILExternalSegmentClockMatrixLayer Matrix layer drawing 7, 9, 14 or 16 segment clock
ILExternalSegmentTextMatrixLayer ILExternalSegmentTextMatrixLayer Matrix layer drawing text
ILExternalMatrixDisplayMatrixLayer ILExternalMatrixDisplayMatrixLayer Matrix layer drawing matrix display
ILTextMatrixLayer ILTextMatrixLayer Matrix layer drawing text
ILExternalSpectrumDisplayMatrixLayer ILExternalSpectrumDisplayMatrixLayer Matrix layer drawing matrix display
ILExternalLinearGaugeMatrixLayer ILExternalLinearGaugeMatrixLayer Matrix layer drawing linear gauge
ULExternalLabelMatrixLayer ULExternalLabelMatrixLayer Matrix layer drawing external text label
ULImageMatrixLayer ULImageMatrixLayer Matrix layer drawing image

Control Element

ILExternalLedElement ILExternalLedElement Component element drawing external LED control with On/Off states
ILLevelDetectLedElement ILLevelDetectLedElement Component element drawing internal level triggered LED control
ILTimeDetectLedElement ILTimeDetectLedElement Component element drawing internal time triggered LED control
ILExternalMultiLedElement ILExternalMultiLedElement Component element drawing external data LED control with multiple states
ILProgressBarElement ILProgressBarElement Component element drawing internal data progress bar
ILExternalProgressBarElement ILExternalProgressBarElement Component element drawing external data progress bar
ILGaugeMinMaxHandElement ILGaugeMinMaxHandElement Component element drawing internal data min or max angular gauge hand
ILExternalGaugeHandElement ILExternalGaugeHandElement Component element drawing external data angular gauge hand
ILExternalGaugeControlHandElement ILExternalGaugeControlHandElement Component element drawing external user controllable data angular gauge hand
ILAngularGaugeElement ILAngularGaugeElement Component element drawing internal data angular gauge
ILExternalAngularGaugeElement ILExternalAngularGaugeElement Component element drawing external data angular gauge
ILGlassPanelElement ILGlassPanelElement Component element drawing rectangular, or elliptic panel covered with glass
ILLevelLedElement ILLevelLedElement Component element drawing internal data LED control with gradually changing intensity and/or color based on the input value
ILExternalLevelLedElement ILExternalLevelLedElement Component element drawing external data LED control with gradually changing intensity and/or color based on the input value
ILThermometerElement ILThermometerElement Component element drawing internal data thermometer gauge
ILExternalThermometerElement ILExternalThermometerElement Component element drawing external data thermometer gauge
ILExternalClockHandElement ILExternalClockHandElement Component element drawing external data analog clock hand
ILAnalogClockElement ILAnalogClockElement Component element drawing internal data analog clock
ILExternalAnalogClockElement ILExternalAnalogClockElement Component element drawing external data analog clock
ILSegmentGaugeElement ILSegmentGaugeElement Component element drawing internal data 7, 9, 14 or 16 segment gauge
ILExternalSegmentGaugeElement ILExternalSegmentGaugeElement Component element drawing external data 7, 9, 14 or 16 segment gauge
ILSegmentClockElement ILSegmentClockElement Component element drawing internal data 7, 9, 14 or 16 segment clock
ILExternalSegmentClockElement ILExternalSegmentClockElement Component element drawing external data 7, 9, 14 or 16 segment clock
ILExternalSegmentTextElement ILExternalSegmentTextElement Component element drawing external text data 7, 9, 14 or 16 segment indicator
ILExternalMatrixDisplayElement ILExternalMatrixDisplayElement Component element drawing external data matrix display
ILExternalSpectrumDisplayElement ILExternalSpectrumDisplayElement Component element drawing external data spectrum display
ILLinearGaugeElement ILLinearGaugeElement Component element drawing internal data linear gauge
ILExternalLinearGaugeElement ILExternalLinearGaugeElement Component element drawing external data linear gauge
ILExternalLinearGaugeControlHandElement ILExternalLinearGaugeControlHandElement Component element drawing external user controllable data linear gauge hand
ILExternalLinearGaugeHandElement ILExternalLinearGaugeHandElement Component element drawing external data linear gauge hand
ILLinearGaugeMinMaxHandElement ILLinearGaugeMinMaxHandElement Component element drawing internal data min or max linear gauge hand
ULAnalogLabelElement ULAnalogLabelElement Component element drawing analog label
ULTimeLabelElement ULTimeLabelElement Component element drawing time label
ULExternalLabelElement ULExternalLabelElement Component element drawing external text label
ULImageElement ULImageElement Component element drawing image
ILExternalSegmentIndicatorElement 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)

  1. Added Linux support
  2. Added iOS support
  3. Added RAD Studio 10.2 Tokyo support
  4. Improved MAC, and Android compatibility
  5. Improved overlay window design for the LED and GlassPanel components
  6. Added TILTimeSource.tsAuto support
  7. Added Text Crop and DisplayPixels properties for the DisplayMatrix
  8. Added OnTextChanged to TULLabel
  9. Improved bindings API
  10. Pins converted to use the new Mitov.Runtime serialization
  11. Added OWRequiredPinAttribute support
  12. Added TOWIntToCardinalFormatConverter and TOWCardinalToIntegerFormatConverter
  13. Added TOWRealToRealComplexFormatConverter
  14. Added TOWRealListStatePin and TOWIntegerListStatePin
  15. Added Execute Process
  16. Added Command Line parsing and Process Execute
  17. Added option to disable the design time extentions
  18. Added Socket Binding
  19. Redesigned JSON Serialization
  20. Added TPeriodicThread
  21. Added initial Dynamic Type Info implementation
  22. Added GetIndexedSubProperty in the RTTI
  23. Added GetType for TObject in the RTTI
  24. Added support for both object and class in TMethodInfo.Invoke in the RTTI
  25. Enchanced Query functionality
  26. Added IPairCollection
  27. IArrayWriter renamed to ISequentialWriter
  28. IArrayReader renamed to ISequentialReader
  29. Improved Serialization Readers
  30. Added Reserialize
  31. Improved design time property editors support
  32. Added option to replace property collection items while keeping all compatible settings
  33. Added filtering for property collections
  34. Added support for categorized list property selection
  35. Added TreeView filtering support
  36. Updated to use the latest Delphi language features

New in Version 7.8.0.0 (released on 2016-05-03)

  1. Added RAD Studio 10.1 Berlin support
  2. Removed the old .NET 2.0 Assemblies
  3. Added Visual Live Binding property editors
  4. Added Reset to Default property editors
  5. Added Enum property editors
  6. Added Class events property editors
  7. Added Multi-Event property editors
  8. Added Make/Split Structure components
 

New in Version 7.7.0.0 (released on 2015-10-28)

Added 10 Seattle support

  1. Added 10 Seattle support
  2. Added support for VS2015
  3. Added TOWBoolToIntFormatConverter
  4. Improved threading support
  5. Improved OpenWire Editor
  6. Clock pins changed to MiltiSink
  7. Improved Design Time Editors
  8. Improved JSON support
  9. Improved collections
  10. Added more Live Binding types
  11. Added support for hosting OpenWire Studio projects
  12. Added serialization support in the buffers

New in Version 7.6.0.0 (released on 2015-04-17)

  1. Added TTLGenericFilter
  2. Added more visual live binding types
  3. Significantly improved property Delphi editors
  4. Added option to Reset the peaks in the Spectrum
  5. 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?

InstrumentLab is free for non commercial purposes. This means that you can use it for personal pleasure, hobby, or evaluation purposes. If you are student you can also use it for free for your educational needs including school projects. If you are a tutor at present you also can use it for free for your classes. However in the near future a low cost tutor license will be available, and you will have to purchase it. Your students however will not need license to use the product at class.

Is InstrumentLab multithreading? Will it stop streaming while I move the window with the mouse?

b

 

 

 

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

 

If you do not have a custom licensing agreement with Mitov Software then the following license applies:
 
The libraries are licensed per developer, and there are no royalties required. Once you have purchased a developer license, you are free to distribute your final product without the need to pay any royalties or other fees as long as you comply with the following license agreement:
 
 
LICENSE – AGREEMENT
 
Users of the LabPacks Component Pack(Software) must accept these terms of license.
 
If you refuse to accept the terms of license, you may not use this software, and you have the right to return it within 30 days of the purchase date, and to receive your money back.
 
For your convenience a copy of this license agreement will be stored on your system during the installation.
 
This license grants you the following rights:
 
You have a non exclusive license to the Software. The Title and all intangible rights to the Software are the property of Mitov Software .
 
You may install and use one copy of the Software per computer assuming only one and the same person will use the Software on all of the computers. You may distribute any application that includes Software without any additional royalties beyond your initial license registration fee.
 
You can also create a reasonable set of copies of the product on different types of media, such as CD Rom or Type Backup, as far as those copies are used only for your own back up protection.
 
Description of the limitations.
 
You may not reverse engineer, decompile, or disassemble the Software.
 
The Software is licensed as a single product. You may not rent or lease the Software. You must treat the Software like any other copyrighted material except that you may either (a) a reasonable amount of copies of the Software solely for backup or archival purposes, or (b) install the Software multiple computers provided you keep the original solely for backup or archival purposes and only a single developer will use all of the copies.
 
You may not separate Delphi and C++ Builder components from this Software.
Each developer must have a valid license for the Software.
 
You may not create a competing component product using this Software.
 
Additional restriction to Delphi-VCL and C++ Builder components:
 
You may not distribute the Delphi-VCL components in a DCU (Delphi Compiled Unit) format. You can distribute the component only as a part of your executable or dynamic link library program in a compiled form.
 
You may not distribute the C++ Builder components in OBJ format. You can distribute the component only as a part of your executable or dynamic link library program in a compiled form.
 
 
Mitov Software grants a limited warranty with these restrictions:
 
THE SOFTWARE IS SUPPLIED AS IT IS. MITOV SOFTWARE AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH REGARD TO THE SOFTWARE. NO LIABILITY FOR CONSEQUENTIAL DAMAGES. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL MITOV SOFTWARE OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE.
See the Features Tab for more detail.

Also, we offer custom licensing and vertical development of the InstrumentLab.  Please direct any questions about custom licensing to Boian Mitov ( mitov@mitov.com ).

PurchaseAll Products Page

 

[otw_is sidebar=otw-sidebar-1]