This document describes the sample code that is included in the SDK and can be found in C:\Aptina Imaging\samples.
They use VS2013, and Qt 5.7 where applicable. Also, for some samples VS2008/VS2010/VS2012 solutions files are available.
NOTE: for Qt application set a System Variable of "QTDIR" set to the Qt installation location; for example, C:\Qt\Qt5.7.0\5.7\msvc2013. And in VS2013, set the QT Properties with "msvc2013".
Most pre-built executables are in C:\Aptina Imaging.
Each application is noted as being Command Line-based, GUI-based, or a plug-in.
- For Command Line based applications, open a "CMD" window to run them.
- For GUI based applications, double-click the application to run them.
- For plug-ins, these are copied to the "Plugins" folder (usually C:\Aptina Imaging\Plugins) and then accessed via DevWare's "Plug-ins" folder.
The following sample applications are described below:
BlankDlg
BlankDlg.exe is a sample Visual Studio blank dialog plug-in built using Visual Studio C++. It is a starting point for the customization of a plug-in.
Please refer to the DevWare Plugin Development Guide for development information.
BlankQtDlg
BlankQtDlg.dll is a sample QT blank dialog plug-in built using Visual Studio C++. It is a starting point for the customization of a plug-in.
Please refer to the DevWare Plugin Development Guide for development information.
Also, the Python script "create_new_dlg.py" can be used to make a copy of the BlankQtDlg source into the DevWare directory, while making all necessary file name changes and string substitutions to create a new plug-in project.
NOTE: for Qt applications, ensure that you have a System Variable of "QTDIR" set to the location of your Qt installation files; for example, C:\Qt\Qt5.4.0\5.4\msvc2012_opengl
Csharp_ApBase_COM_Sample
Csharp_ApBaseCOM.exe is a Command Line based C# sample of using ApBase's COM interface built using Visual Studio C#. The sample performs the following actions:
1. Starts ApBase_COM and then displays the sensor name found.
2. Loads the default initialization preset.
3. Sets up the capture/save parameters.
4. Grab the frame and saves it, and verifies there were no errors.
5. Exits ApBase_COM.
Please refer to the "ApBase COM Development Guide" document for usage details, found via:
start->All Programs->Aptina Imaging->Docs->Development Guides->ApBase COM Development Guide
Csharp_sample
Csharp_Samples.exe is a Command Line based C# sample of using DevSuite's COM interface built using Visual Studio C#. The sample expects an A-2020SOC sensor to be connected, and performs the following actions:
1. Starts DevWare and then verifies that a SOC2020 is connected.
2. Loads the default initialization preset.
3. Verifies that the sensor is outputting valid frames.
4. Captures a default image.
5. Adjusts AE exposure via a FW variable.
6. Captures the adjusted image.
7. Exits DevWare.
Please refer to the DevWare COM Interface document for usage details
DialogDll
This is a sample Devware Plugin Dialog which is built using Visual Studio C++. The plugin demonstrates how to modify sensor registers, general registers and interact with image data. Please refer to the The Dialog Plug-in API for DevWare document for more information on developing Devware Plugins. Note that the DLL must reside in the C:\Aptina Imaging\Plugins directory.
DirectShowSample
This sample program demonstrates how to select Aptina's device as a Directshow source filter and render its capture pin to show a preview window; it assumes Windows SDK 7.1 has been installed and the "Release" version of the "directshow" baseclasses has been compiled and located at;
C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses
Also refer to the DirectShow User Guide.
Headless
Headless.dll is a sample "headless" plug-in built using Visual Studio C++. It is a starting point for the customization of a plug-in that doesn't require a GUI.
Please refer to the DevWare Plugin Development Guide for development information.
INI_2_C
This Visual Studio C++ Command Line based application translates INI file into a C language header file or code block.
Flattens out LOAD= commands, replaces symbolic register/variable/bitfield names with register addresses/bit values.
Note; it currently does not translate Python commands.
Refer to the Ini_2_C User Guide for details.
IPTransport
IPTransportDLL is a sample Visual Studio C++ transport DLL. A transport DLL allows a user to use non-Aptina Hardware to run with Devware or any other MIDLIB application.
This sample is specific to UDP packet processing.
Note this sample requires winpcap, and it is upon the user to acquire it to get the sample to compile.
For more information on creating a transportDLL please refer to the "Transport DLL Development Guide".
LabVIEW
Sample LabVIEW Applications demonstrate how to use LabVIEW with DevWare's COM interface (folder DevWare_COM_sample), ApBase COM interface (folder ApBase_COM_sample), and ApBase API interface (folder ApBase_API_sample).
The applications create a process flow with GUI, which connects to the given interface, captures images on demand, and demonstrates how to read and write sensor registers.
MatlabDevWareCOM
Sample Matlab Application demonstrates how to use Matlab with DevWare's COM interface. The code connects to DevWare through the COM interface, reads a single sensor register, and captures a raw image. The code also demonstrates how to write values into multiple registers using one function call.
ApBase COM can also be used with Matlab; please see the example in that document under the "Quick Start" section.
Python_Samples
The Python directory contains sample Python scripts that can be called from DevWare and stand-alone samples.
These examples can be executed by loading the .INI file into DevWare and executing the presets.
- Exposure-demo.ini shows an example of increasing and decreasing exposure from an INI preset.
- AR0132_read_embedded.ini grabs 6 frames and prints the embedded data registers that changed.
- Gain-exp-sweep.ini performs Gain Sweep via the optional Register Dialog "Scripts" feature, for the AR0330.
It create creates 2 Custom Toolbars; One for "Gain Sweep" and another for "Exposure Sweep". - Mode-transition.ini captures images to .raw files across a mode transition.
- QTM.ini sets a long file name for snapshot in DevWare.
- TimingSample_py.ini is an example that creates a simple Python GUI, reads several register values and does some simple frame rate/timing calculations.
- videocapture.ini is a Python script that implements simple video recording.
These examples are Python scripts, based on Python 3.4.
They require DevWareX to be installed before they can be run.
- ColorPipe.py shows calling the ApBase API to do image processing as in DevWareX, on a RAW file.
- convert_12bit_to_8 or 10bit.py converts 12 bit raw file of Aptina sensors to 8 bit and 10 bit raw files.
- NoiseMeasurement.py uses ApBase API from DevSuite to do noise measurement for raw files and write the results to text files.
- SimpleCapture.py shows calling ApBase API from DevSuite to do an image capture.
- SimpleCaptureAvi.py shows calling ApBase API from DevSuite to capture 100 frames and create an AVI video file.
RawToRGB
RawToRGB is a Command Line based Visual Studio C++ application that converts a raw image to RGB using ApBase.
SampleAFMDLL
This is another sample Devware Plugin Dialog (using Visual Studio C++) which is used to control Auto Focus Mechanics. It allows the user to control an AF module by providing the I2C address, Min/Max positions and step sizes. Please refer to the The Dialog Plug-in API for DevWare and Auto Focus Mechanics Plugins Development Guide document for more information. Note that the DLL must reside in the C:\Aptina Imaging\Plugins directory.
SimpleCapture
SimpleCapture is a Command Line based Visual Studio C++ ApBase API application that can capture one or several continuous raw images and save in a file. Some image/sensor information will output to the console.
Usage:
SimpleCapture
SimpleCapture <num_frames>
SimpleCapture <num_frames> <width> <height>
Output Example:
Log file: ship_log0.txt
sensorName = A-1000ERS
sensorType = 65
width = 1280
height = 720
pixelBytes = 2
pixelBits = 10
bufferSize = 1843712
imageType = Bayer 10
shipAddr = 32
num_regs = 503
Saving frames to img.raw...Grabbing frame
.[done]
SimpleCaptureAVI
SimpleCaptureAVI is a Command Line based Visual Studio C++ MIDLIB application can capture one or several continuous raw images and saves them as a .avi file. Some image/sensor information will output to the stdout. Note that the application assumes the sensor has already been programmed to stream data.
Usage:
SimpleCaptureAVI
SimpleCaptureAVI <num_frames>
SimpleCaptureAVI <num_frames> <width> <height>
Output Example:
sensorName = A-1000ERS
sensorType = 65
width = 1280
height = 720
pixelBytes = 2
pixelBits = 10
bufferSize = 1843712
imageType = Bayer 10
shipAddr = 32
num_regs = 503
Opening AVI file – img.avi…
Grabbing frames
[done]
SimpleCSharp
SimpleCSharp is the C# .NET version of SimpleCapture.
SimpleOpenCL
SimpleOpenCL is a sample plugin that uses OpenCL.
SimpleQT
Simple is a GUI-based QT Visual Studio C++ ApBase application that can display image output for all Aptina sensors. It has a very simple demosaic algorithm in order to display output for Bayer only parts. It also includes examples of how to read and write registers.
Note that the application expects the width and height to match the SDAT's values of "Width" and "Height".
NOTE: for Qt applications, ensure that you have a System Variable of "QTDIR" set to the location of your Qt installation files; for example, C:\Qt\Qt5.4.0\5.4\msvc2012_opengl
TransportDLL
TransportDLL is a sample Visual Studio C++ transport DLL. A transport DLL allows a user to use non-Aptina Hardware to run with Devware or any other MIDLIB application. For more information on creating a transportDLL please refer to the "Transport DLL Development Guide"
Add Comment