DSK(SDK)

Deepsound Software Development Kit (DSK) Version 2.0 User Manual.

DSK User Manual

Software Development Kit DSK — DSK Version 2.0


Copyright ⓒ 2026 / SEONGSANLAB Co., Ltd.

This user manual is protected under copyright law. No part of this manual may be reproduced, transmitted, distributed, translated, or converted into any electronic media or machine-readable form without the prior written consent of SEONGSANLAB Co., Ltd. The contents of this manual and program performance are subject to change without prior notice for improvement.

All rights reserved

API Reference for DSK 1.0

Release 2.0

This user manual is protected under copyright laws. No part of this manual may be reproduced, transmitted, distributed, translated, or converted into any electronic media or machine-readable form without the prior written consent of SEONGSANLAB Co., Ltd. The contents of this manual and program performance are subject to change without prior notice for improvement.

The contents of this guide are provided for informational purposes only, subject to change without notice. SEONGSANLAB Co., Ltd. assumes no responsibility or liability for any errors or inaccuracies that may appear in the informational content contained in this guide. Please note that existing images you wish to include in your project may be protected by copyright law and require permission from the copyright owner before use.

References to company names, company logos, and user names in sample materials or sample forms included in this software are solely for practical use and do not represent actual organizations or individuals.

All other trademarks and copyrights are the property of their respective owners.

Registered Trademarks

  • The DEEPSOUND logo is a registered trademark of SEONGSANLAB Co., Ltd.
  • Microsoft, MS-DOS, and Windows are registered trademarks of Microsoft Corporation.

Contact Information

  • Head Office: SEONGSANLAB Co., Ltd. (P: 02-2039-5725 | F: 02-2039-5726)
  • Address: #1318, 13F, Ace High Tech City, 52 Gongdan-ro 140beon-gil, Gunpo-si, Gyeonggi-do, Republic of Korea
  • Website: www.dspaut.com | Email: admin@dspaut.com
  • Quality: All work is performed in accordance with SEONGSANLAB Co., Ltd. quality standards.

Caution
SEONGSANLAB Co., Ltd., 2026. Rev 2.0. All information in this document is subject to change without prior notice.


DSK Version Check List

VersionCheck List
1.0Initial DSK Version created
1.3Added Multi Channel configuration function
1.4Added Multi Board configuration function and expanded Focal Law Angle Resolution
1.5Added UT Group configuration function and expanded UT features
2.0Removed USB communication and transitioned to LAN communication

PREFACE

What does this Manual mean?

This document is a general technical design document for use with DSK. It provides guidelines and template materials to offer technical support when building projects or DSK software development kits.

Who is the target audience for this Manual?

This document is intended to assist operators familiar with the Microsoft C/C# language. The target audience should have basic knowledge of the C/C# programming language. This manual supports efficient work for ultrasonic software developers.

The remaining sections (DSK/API/…) cover the APIs used to configure DSK development projects.

Under normal circumstances, most text in this document can be retained, modified, or deleted.

Text in different fonts represents sample code written for the relevant API section.

This document was written using MS Word, and the final version of this document is distributed in PDF format.


BASIS OF THIS DOCUMENT

The following introductory section describes how to design a system that can be developed with DSK. This sets standards and aims to create a consistent approach to the design and development of systems across DSK, thereby benefiting from consistency in API development and system build and deployment methods.


1. INTRODUCTION

1.1 DSK Introduction

DSK stands for Deepsound Software Development Kit and is a program that replaces the existing DS Gear SDK.

DSK generates ultrasonic signals from a probe for non-destructive testing, and collects and analyzes the returning signals. It controls the hardware according to the system to be inspected, processes the collected data, and provides various APIs to help easily construct non-destructive testing systems.

Purpose

The purposes of this document are as follows:

  • Describe background applications before installing the DSK program
  • Describe DSK operation
  • Describe how to use the DSK API

Users should have prior knowledge of software architecture, programming languages (C#/C), and Microsoft Visual Studio.

Development Environment

  • Windows 10 x64 recommended
  • Microsoft Visual Studio 2017 or higher
  • .NET Framework 8.0

2. DSK

2.1 BACKGROUND SETTING

Before installing the Tutorials program, you must configure the background environment.

The settings are organized in the provided program folder under the list of required installations, and proceed sequentially through the methods below.

List of required installations:

  • .NET Framework 8.0
  • Log2console
  • Vcredist

2.1.1 .NET Framework 8.0 Installation Method

The DSK program is configured in C#. Please install this program for development.

Important: Running it with a lower version may cause issues.

2.1.2 Log2console Installation Method

The Log2console program plays an important role in DSK development. It reads problematic code and locations during development, making the work much easier.

Log2console Program Basic Configuration Method:

When running Log2console after installation, a prompt to perform basic configuration will appear. Configure it as follows:

#1 Click the button in the top Tool menu.

#2 A window will open upon clicking.

#3 Click Add.

#4 Select "UDP (IP v4 and v6) / WinDebug (OutputDebugString)" respectively to add them to the list.

2.1.3 Vcredist Installation Method

Visual Studio 2017 is recommended, and Vcredist must be installed to minimize problems during installation.

The installation program is in the provided folder. Please check your Windows operating system and install it.

2.2 Program Installation

This section describes DSK installation and uninstallation. The program runs installation on the Host-PC. There are two version files along with the software installation. The DSK x86 installer is for 32-bit (x86) Windows operating systems, while the DSK x64 installer is designed for 64-bit Windows operating systems.

Software installation is as follows: Prepare Installation (DskTutorial_setup.exe)

Click NextInstall button → Click Close when complete.

Once complete, the DskTutorial folder will be created in the DEEPSOUND installation path.

2.3 Folder Descriptions

When DSK installation is complete, folders will be created as shown in the image below.

Folder NameContent
01-InitDeviceContains 01-InitDevice.csproj source files
02-SScanContains 02-SScan.csproj source files
03-AScanContains 03-AScan.csproj source files
04-InspectionContains 04-Inspection.csproj source files
10-SimplePAUTContains 10-SimplePAUT.csproj source files
BinContains Release, RES folders, and program .exe files
DskCommonContains .dll source files
DskTutorial.slnVisual Studio project file

3. TUTORIAL

3.1 TUTORIAL 1: Visual Studio DSK Application Method

DSK is recommended to be developed based on Visual Studio 2017. Proceed as shown in the image below after installation.

#1 Run Visual Studio 2017.

#2 Click the top menu “File” -> Open → Click Project/Solution (Ctrl+Shift+O).

#3 Click the DskTutorial.sln file inside the DskTutorial folder.

3.2 TUTORIAL 2: Program Build Method

After loading DskTutorial.sln into Visual Studio, you can see that 6 projects are registered in the Solution Explorer.

Before proceeding, select Build from the top Tool menu and run Rebuild Solution to complete the registration.

3.3 TUTORIAL 3: Project Descriptions and Execution Methods

Before using the DSK program, make sure to check the USB cable connection and Network connection status (only available for R3, P3 equipment).

#1 01-InitDevice

01-InitDevice is the first step of program development and is intended to check the connection status between the DSK program and the hardware.

How to Activate the Project:

Right-click "InitDevice" and click “Set as Startup Project” to select it.

How to Load the UI:

Press "Ctrl+F5" to load the created Form1.cs screen.

UI Screen Configuration Description:

The configuration consists of Init Device and Freeze.

  • Init Device: Checks the connection with the equipment. If successfully executed, the counter below will increase.
  • Freeze: Enabled once the Init Device connection is established. Click to pause the acquisition.

Important: Please enter the Project code for the equipment before proceeding. Refer to “APPENDIX C” for instructions on entering the Project code.

#2 02-SScan

02-SScan is the step where you can check the S-scan image after connecting the equipment.

Activate the project and load the UI screen to see the image below.

UI Screen Configuration Description:

The configuration consists of Init Device and Freeze.

  • Init Device: Connects the equipment, and the S-scan image will be displayed upon successful execution.
  • Freeze: Click to pause the program.

#3 03-AScan

03-AScan is the step where you can check A-scan / S-scan images after connecting the equipment.

Activate the project and load the UI screen to see the image below.

UI Screen Configuration Description:

The configuration consists of Init Device and Freeze.

  • Init Device: Connects the equipment, and A-scan / S-scan images will be displayed upon successful execution.
  • Freeze: Click to pause the program.

#4 04-Inspection

04-Inspection is the step where you can check the S-scan screen and Encoder operation.

Activate the project and load the UI screen to see the image below.

UI Screen Configuration Description:

The configuration consists of Init Device, Freeze, Start, Stop, Clear, and X = 0mm.

  • Init Device: Connects the equipment, and the S-scan image will be displayed upon successful execution.
  • Freeze: Click to pause the program.
  • Start: Checks if Encoder Start applies (no effect on the image).
  • Stop: Checks if Encoder Stop applies (no effect on the image).
  • X = 0mm: The counter increases when operating the Scan Encoder.
  • Clear: Resets the Scan Encoder operation counter.

#5 10-SimplePAUT

10-SimplePAUT displays the final program with a completed UI, showing A-scan, S-scan, B-scan, and C-scan images.

This is the final stage of DSK, where you can implement images by applying various Parameter values.

Activate the project and load the UI screen to see the image below.

UI Screen Configuration Description:

The configuration consists of Init Device, Encoder, Inspect, Scan Layout, and lists for applying each Parameter value.

  • File: Menu for Load & Save functions.

Important: The path for saving and loading .json files is DskTutorial > Bin > RES > Saves > UserSetup (the user can change this location, and the last saved location is maintained).

  • Init Device: Connects to the equipment and displays images.
  • Encoder: Configured with Scan and Index Axis. Displays the distance value traveled by the encoder after connection. The icon resets the encoder distance value to 0mm.
  • AScan index: Displays the current position of the Vector.
  • Inspect: Configured with Start and Stop. Operating the encoder after clicking Start performs C-scan and B-scan data collection. Clicking Stop saves the collected data.

General

This list contains Parameters and information related to the overall image: Gain / Digitizing / Beam type / Refraction Angle / Resolution / Aperture Size / Aperture Step / Vector Count / Sample Count / Acquisition Rate.

  • Gain: Adjusts the signal level.
  • Digitizing: Affects the sample count and selects the data conversion frequency.
  • Beam type: Selects between Azimuthal and Linear.
  • Refraction Angle Start, Stop: Sets the angle range.
  • Resolution: Checks images by subdividing or grouping the angle range (enabled when Azimuthal is selected).
  • Aperture Size: Enabled in Linear type, sets the Vector Group Count (e.g., if set to 16, it proceeds sequentially as 116, 217, 3~18…).
  • Aperture Step: Enabled in Linear type, sets the Vector Group Count (e.g., if set to 16, it proceeds as 116, 1732, 33~45…).
  • Vector Count: The calculated number of vectors for the configured range.
  • Sample Count: The number of Sample Data points.
  • Acquisition Rate: Represents the sampling speed.

Probe

This list is for entering and configuring Probe information: Frequency / Element Pitch / Number of Elements / UT connector / Transmitter / Receiver / Probe First Element.

  • Frequency: Enter the frequency of the probe.
  • Element Pitch: Enter the pitch between probe elements.
  • Number of Elements: Enter the number of probe elements.
  • UT connector: Checkbox to enable Conventional UT (only applies to equipment with UT Ports, refer to “APPENDIX G” for details).
  • Transmitter Start, Stop: Sets the start and end values of transmit elements.
  • Receiver Start, Stop: Sets the start and end values of receive elements.
  • Probe First Element: Sets the starting position of elements.

Wedge

This list is for entering Wedge information: Enable / Wedge Angle / Wedge Velocity / Height.

  • Enable: Checkbox to enable the Wedge.
  • Wedge Angle: Enter the Wedge Angle.
  • Wedge Velocity: Enter the Wedge Velocity.
  • Height: Enter the Wedge Height information.

Pulse

This list is for configuring the pulse settings: PRF / Pulse Width / Voltage / Burst Count / Focus Position / Wave Velocity.

  • PRF: Enter the desired value (varies according to minimum/maximum depth).
  • Pulse Width: Determined by the Probe Frequency value (Calculation: 1 / 5(5MHz) = 0.2 (200ns)).
  • Voltage: Enter the desired value (Range: 25~200V).
  • Burst Count: Set the Burst wave count, which is an advantage of Bipolar Waves (Range: 1~3).
  • Focus Position: Enter the desired focus position.
  • Wave Velocity: Enter the wave velocity in the material.

Receive

This list is for configuring the receive signal settings: Depth Start / Depth Range / Filter Start / Filter Stop / Wedge Delay.

  • Depth Start: Sets the start of the scan range.
  • Depth Stop: Sets the end of the scan range.
  • Filter Start / Stop: Based on the Probe Frequency, sets the desired filter range.
  • Wedge Delay: Sets the desired Wedge Delay value.

Mechanical

This list is for configuring the Scanner Encoder: Encoder Axis Reverse / Scan Axis (Start, Stop, Step, Resolution, Reverse) / Index Axis (Start, Stop, Step, Resolution, Reverse).

  • Encoder Axis Reverse: Checkbox to swap the positions of the Scan Axis and Index Axis.

Scan Axis

  • Start: Sets the starting position of the Scanner.
  • Stop: Sets the ending position of the Scanner.
  • Step: Sets the interval of position values.
  • Resolution: Enter the resolution value of the Scanner.
  • Reverse: Checkbox to reverse the scanning direction.

Index Axis: Same descriptions as the Scan Axis.

Gate

This list is for adjusting signal information and gate positions: Gate A (Start, Range, Threshold, A%, A^) / Gate B (Start, Range, Threshold, B%, B^).

  • Checkbox: Enabled when check box is selected.
  • Start: Sets the starting position of the Gate.
  • Range: Sets the range value of the Gate.
  • Threshold: Sets the threshold height of the Gate.
  • A% / B%: Displays the Amplitude value of the signal captured in the gate.
  • A^ / B^: Displays the maximum Peak value of the signal captured in the gate.

4. ULTRASOUND ENGINEERING

This section defines the basic UE (Ultrasound Engineering) parameters used in DSK.

Vector

In ultrasonic non-destructive testing (NDT), a Vector is defined as ultrasonic data collected at a specific angle and range.

Vector Count Calculation

The formula to calculate the number of vectors is as follows:

Vector count = (Refracted angle end – Refracted angle start) / Resolution + 1
  • The maximum range of the refracted angle is -85 to 85 degrees, and the resolution can be set from 0.5 to 2.

Example:

[Condition] Refracted angle range is Start 10 degrees, Stop 20 degrees, and Angle Resolution is 2.0. Solving with the formula yields a total Vector count of 6.

Ex. (20 - 10) / 2.0 + 1 = 6 (Vector Count)

Sample

An analog signal collected from a probe is digitized (sampled) through an ADC (Analog-Digital Converter) to generate a single Sample data point.

Ex. When setting the Digitizing Frequency to 50MHz, Sample data is converted every 20e-9 (nsec) (1 second / 50MHz).

Sample Count Calculation

Sample count = Range (mm) / ( US velocity / Sample frequency / 2 )

Note: The final obtained Sample Data represents ultrasonic transmit and receive data, so it is divided by 2.

Ex. Under an ultrasonic velocity of 5900 m/s, the Sample Count calculation for 100 mm is as follows:

1694 = 100 mm / (5900 m/s / 50 MHz / 2)

Digitizing Index

Digitizing (or Sampling) Frequency represents how detailed the data conversion is during ADC. In DSK, it can be configured between a maximum of 50MHz and a minimum of 3.125 MHz.

DSK configures these values in an internal Table, and the Digitizing Index below represents the Index number for that table.

Digitizing FrequencyDigital Index
50 MHz0
25 MHz1
12.5 MHz3
6.25 MHz7
3.125 MHz15

Frame and Channel Group

Grouping multiple Vectors is called a Channel Group. Each Channel Group can be configured with different values for Range, Gain, and Pulse Width, and the DSK equipment collects ultrasonic Vector data in the index order of Channel Groups. Finally, all Vectors matching the configured Channel Groups represent 1 Frame. When acquisition for 1 Frame is complete, the Rx Callback is called to process the collected data.

Channel IndexRefracted AngleVector Count
Channel 00~45
Channel 110~123
Channel 2451
Channel 330~312

Frame Creation

1 Frame consists of data corresponding to the configured number of Channel Groups. It is stored sequentially according to the Channel Group Index, matching the size of BackEndSampleCountPerVector * Vector count for each Channel Group.

For example, if Channel Groups 0, 1, and 2 each have a Vector Count of 1, and the BackEndSampleCountPerVector count is 2500 for Channel Group 0, 5000 for Channel Group 1, and 7500 for Channel Group 2: Index 0 of the 1D Array stores the 0th sample data of the 0th vector of Channel Group 0. After 2500 samples, Index 2500 stores the 0th sample data of the 0th vector of Channel Group 1. To use data from a specific Channel Group, apply an offset corresponding to the Vector Count * BackEndSampleCountPerVector count of the preceding Channel Groups.

Pulse

Bipolar Pulse wave type

An Unipolar Pulse Wave is a pulse wave whose polarity does not change over time, whereas a Bipolar pulse wave is a pulse wave whose polarity changes over time, similar to a Sine Wave. Conventional ultrasonic testing equipment used Unipolar pulse waves because they were easier to implement in hardware design. However, DSK equipment applies medical technology to use Bipolar Pulse Waves.

This allows setting the Burst Count as desired, which is an advantage of Bipolar Waves, to improve defect detection capabilities in areas with high attenuation.

Pulse Width Formulas and Figures

#1 Unipolar pulse width:

The Unipolar pulse width calculation is the inverse of the frequency divided by 2, and the formula is as follows:

Unipolar Pulse width = 1 / Pulse Frequency (Hz) / 2

Ex. Pulse width calculation for a 5 MHz pulse frequency:

1 / 5 MHz / 2 = 100 (ns)

#2 Bipolar pulse width:

The Bipolar pulse width calculation formula is as follows:

Bipolar Pulse width = 1 / Pulse frequency (Hz)

Ex. Pulse width calculation for a 5 MHz pulse frequency:

1 / 5 MHz = 200 (ns)

Burst Count

Burst is a method of generating and collecting wave signals by increasing the number of counts in a single pulse wave. Since the echo pulse is collected more strongly in Rx, it can be used when collecting data in sections with high ultrasonic attenuation.

In the DSK program, you can set the Burst Count from 1 to 5.

Focus Type

Focus Type represents the Focal Law Focus Position setting method for each Vector. There are four Focus Types: True Depth, Half Path, Auto Focus, and Projection.

  • True depth: All focal laws focus based on the Depth value.
  • Auto focus: Auto Focus can only be set for Pitch & Catch Probe Types and is applied by calculating the position physically focused by the Roof Angle.
  • Half path: All focal laws set the focus based on the Sound path Distance value.
  • Projection: All focal laws set the focus according to a predefined focus plane (Index / Scan offset).
Beam TypeIndex
FOCUSTYPE_TRUEDEPTH0
FOCUSTYPE_AUTOFOCUS1
FOCUSTYPE_HALFPATH2
FOCUSTYPE_PROJECTION3

Focal Plane Position Offset

Represents the position of the Focal Plane (from the wedge reference point to the focal plane offset). The unit is set in mm.

Scan/Index Encoder

The figure below shows how the Scanner (Encoder) moves in the Scan axis and Index axis directions.

In the DSK program, you can configure the start/stop and resolution of the Encoder in detail:

  • Scan encoder start: Defines the starting position of the Scan Encoder within the acquisition range. Unit: mm (e.g., 100, 500…)
  • Scan encoder stop: Defines the stopping position of the Scan Encoder within the acquisition range. Unit: mm (e.g., 100, 500…)
  • Scan encoder step: Defines the Step unit number of the Scan Encoder within the acquisition range. (e.g., 1.0, 2.0, 2.54…)
  • Scan encoder resolution: Defines the number of pulses per mm of the Scan Encoder. (Step / mm) (e.g., 20.0, 5210.8…)

5. APPENDIX

5.1 APPENDIX C: PROJECT CODE Description and Input Method

The Project code assigned to each equipment model is different. Refer to it when running the DSK program.

SDK Equipment ModelProject Code
P50x50
P10x70
S3 ( 64CH )0x60
S3 mini 2 Port0x51
S3 Mini 4 Port0x52
P3 ( 32CH )0x90
P3 ( 16CH )0x91
R30x80

How to Register the PROJECT CODE per Equipment:

Each equipment model has a unique Code Name, and the hardware runs by identifying this code.

The Project code is entered when running the S2.json file. Check the figures below for the location and method.

#1 S2.json File Path Location

The S2.json file is located in the DskTutorial > Bin > RES > Saves > Setup path directory. Open the S2.json file to proceed.

#2 How to Modify in S2.json File

Open S2.json and change the "ProjectCode" value to match your equipment.

After editing, save and close the file, then run DSK.


Copyright © 2026, SEONGSANLAB Co., Ltd.
The copyright of this manual belongs to SEONGSANLAB Co., Ltd., and unauthorized reproduction or transmission is prohibited.
www.dspaut.com

DSPAUT

Technical Support Portal

© 2026 SEONGSANLAB Co., Ltd. All rights reserved.