Walabot API Beta
All you need to know to create a Walabot Application
WalabotAPI.h
Go to the documentation of this file.
1 #pragma once
2 
3 /******************************************************************************
4 * CONFIDENTIAL AND PROPRIETARY DATA *
5 *=================================== *
6 * *
7 * Copyright 2015 Vayyar Imaging Ltd. All rights reserved. *
8 * *
9 * This document is the property of Vayyar and all materials and information *
10 * contained herein are the confidential and proprietary information of Vayyar *
11 * and are protected by international copyright laws. The copyrights are owned *
12 * by Vayyar or the original creator of the material. The materials and *
13 * information contained herein are provided to you for internal information *
14 * purposes only, and no portion of the materials and information herein may *
15 * be copied, reproduced, distributed, transmitted, displayed, published, *
16 * broadcasted or used in any way whatsoever directly or indirectly without *
17 * the prior written consent of Vayyar or in any case of third party *
18 * materials, without that third party's consent. This document shall be *
19 * returned to Vayyar promptly upon request. *
20 * *
21 * The materials and information contained herein are provided "AS IS" and *
22 * Vayyar does not provide any warranties of any kind, whether express or *
23 * implied, including but not limited to implied warranties of merchantability,*
24 * fitness for a particular purpose, and non-infringement. *
25 * *
26 ******************************************************************************/
27 
619 {
623 
624 typedef struct vcomplex_struct
625 {
626  double real;
627  double imag;
628 }vcomplex;
629 
630 typedef struct AntennaPair_struct
631 {
632  int txAntenna;
633  int rxAntenna;
634 }AntennaPair;
635 
637 {
641 
642  PROF_SENSOR = 0x00020000,
644  PROF_TRACKER = 0x00030000,
645  PROF_WIDE_BAND = 0x00040000
646 
647 };
648 
650 {
658 };
659 
661 {
668 };
669 
671 {
675 };
676 
677 typedef struct ImagingTarget_struct
678 {
680  double angleDeg;
681  double xPosCm;
682  double yPosCm;
683  double zPosCm;
684  double widthCm;
685  double amplitude;
687 
688 
689 typedef struct SensorTarget_struct
690 {
691  double xPosCm;
692  double yPosCm;
693  double zPosCm;
694  double amplitude;
695 }SensorTarget;
696 
697 
698 typedef struct TrackerTarget_struct
699 {
700  double xPosCm;
701  double yPosCm;
702  double zPosCm;
703  double amplitude;
705 
706 
707 #ifdef _WIN32
708  #ifdef WALABOT_EXPORTS
709  #define WALABOT_API __declspec(dllexport)
710  #else
711  #define WALABOT_API __declspec(dllimport)
712  #endif
713 #else
714  #define WALABOT_API
715 #endif
716 
717 
718 extern "C" {
719 
720 WALABOT_API WALABOT_RESULT Walabot_Initialize(const char* configFilename);
722 
729 
735 WALABOT_API const char* Walabot_GetErrorString();
736 
744 
756 WALABOT_API WALABOT_RESULT Walabot_GetInstrumentsList(int bufMaxSize, char* outputBuffer);
757 
769 
780 
788 
799 
807 
818 
829 WALABOT_API WALABOT_RESULT Walabot_GetAntennaPairs(AntennaPair** antennaPairs, int* numPairs);
830 
842 WALABOT_API WALABOT_RESULT Walabot_GetSignal(int txAntenna, int rxAntenna, double** signal, double** timeAxis, int* numSamples);
843 
853 
864 
878 
887 
899 
910 
924 WALABOT_API WALABOT_RESULT Walabot_SetArenaX(double min, double max, double res);
925 
939 WALABOT_API WALABOT_RESULT Walabot_SetArenaY(double min, double max, double res);
940 
954 WALABOT_API WALABOT_RESULT Walabot_SetArenaZ(double start, double end, double res);
955 
969 WALABOT_API WALABOT_RESULT Walabot_SetArenaR(double start, double end, double res);
970 
984 WALABOT_API WALABOT_RESULT Walabot_SetArenaTheta(double min, double max, double res);
985 
999 WALABOT_API WALABOT_RESULT Walabot_SetArenaPhi(double min, double max, double res);
1000 
1014 WALABOT_API WALABOT_RESULT Walabot_GetArenaX(double* min, double* max, double* res);
1015 
1029 WALABOT_API WALABOT_RESULT Walabot_GetArenaZ(double* start, double* end, double* res);
1030 
1044 WALABOT_API WALABOT_RESULT Walabot_GetArenaY(double* min, double* max, double* res);
1045 
1059 WALABOT_API WALABOT_RESULT Walabot_GetArenaR(double* start, double* end, double* res);
1060 
1074 WALABOT_API WALABOT_RESULT Walabot_GetArenaTheta(double* min, double* max, double* res);
1075 
1089 WALABOT_API WALABOT_RESULT Walabot_GetArenaPhi(double* min, double* max, double* res);
1090 
1135 WALABOT_API WALABOT_RESULT Walabot_GetRawImageSlice(int** rasterImage, int* sizeX, int* sizeY, double* sliceDepth, double* power);
1136 
1180 WALABOT_API WALABOT_RESULT Walabot_GetRawImage(int** rasterImage, int* sizeX, int* sizeY, int* sizeZ, double* power);
1181 
1192 
1206 
1219 
1232 
1233 
1245 
1246 
1256 
1274 
1280 #define PARAM_DIELECTRIC_CONSTANT ((char*)"DielectricConstant")
1281 
1286 #define PARAM_CONFIDENCE_FACTOR ((char*)"ConfidenceFactor")
1287 
1296 WALABOT_API WALABOT_RESULT Walabot_SetAdvancedParameter(char* paramName, double value);
1297 
1308 WALABOT_API WALABOT_RESULT Walabot_GetAdvancedParameter(char* paramName, double* value);
1309 
1310 WALABOT_API WALABOT_RESULT Walabot_GetAntennaLocation(int antennaNum, double& X, double& Y, double& Z);
1311 
1312 }
1313 
< Imaging Tagret parameters
Definition: WalabotAPI.h:677
double yPosCm
Y coordinate of target center.
Definition: WalabotAPI.h:682
Moving Target Identification: standard dynamic-imaging filter:
Definition: WalabotAPI.h:674
WALABOT_RESULT Walabot_GetAntennaPairs(AntennaPair **antennaPairs, int *numPairs)
Obtains a list of Walabot antenna pairs.
WALABOT_RESULT Walabot_GetImageEnergy(double *energy)
Provides the sum of all the raw image’s pixels’ signal power.
int rxAntenna
Receiving antenna.
Definition: WalabotAPI.h:633
Short-range, small number of antennas pairs - This profile currently not in use.
Definition: WalabotAPI.h:639
WALABOT_RESULT Walabot_SetSettingsFolder(char *folder)
Obtains Sets location of Walabot internal database, if moved from default.
struct SensorTarget_struct SensorTarget
< Sensor Tagret parameters
Profile set, but not currently scanning or calibrating.
Definition: WalabotAPI.h:654
Now calibrating; in this case Walabot_GetStatus() also provides percentage completed.
Definition: WalabotAPI.h:656
TARGET_TYPE type
Estimated identity of target.
Definition: WalabotAPI.h:679
struct TrackerTarget_struct TrackerTarget
< Tracker Tagret parameters
Phasor is a complex number which includes the data on the amplitude and the phase of the reflected si...
Definition: WalabotAPI.h:624
WALABOT_RESULT Walabot_CancelCalibration()
Stops calibration.
double imag
Phasor imaginary component.
Definition: WalabotAPI.h:627
#define WALABOT_API
Definition: WalabotAPI.h:714
WALABOT_RESULT Walabot_GetThreshold(double *threshold)
Obtains the current sensitivity threshold.
WALABOT_RESULT Walabot_GetRawImage(int **rasterImage, int *sizeX, int *sizeY, int *sizeZ, double *power)
Provides tridimensional (3-D) image data.
WALABOT_RESULT Walabot_Connect(char *uid)
This function is reserved for future use Establishes communication with a specified Walabot device...
WALABOT_RESULT Walabot_GetArenaZ(double *start, double *end, double *res)
Obtains current Z-axis range and resolution of arena.
WALABOT_RESULT Walabot_ConnectAny()
Establishes communication with Walabot.
WALABOT_RESULT Walabot_SetArenaZ(double start, double end, double res)
Sets Z-axis range and resolution of arena.
const char * Walabot_GetErrorString()
Obtains the detailed string of the last error.
Prepared for scanning by Walabot_Start, and not currently calibrating.
Definition: WalabotAPI.h:655
WALABOT_RESULT Walabot_GetAdvancedParameter(char *paramName, double *value)
Obtains current Walabot advnaced parameter value.
WALABOT_RESULT Walabot_SetAdvancedParameter(char *paramName, double value)
Set advanced Walabot parameter.
double zPosCm
Z coordinate of target center.
Definition: WalabotAPI.h:683
WALABOT_RESULT Walabot_GetArenaTheta(double *min, double *max, double *res)
Obtains polar (Θ) range and resolution of arena.
WALABOT_RESULT Walabot_Trigger()
Initiates a scan and records signals.
WALABOT_RESULT Walabot_SetArenaY(double min, double max, double res)
Sets Y-axis range and resolution of arena.
double real
Phasor real component.
Definition: WalabotAPI.h:626
double xPosCm
X coordinate of target center.
Definition: WalabotAPI.h:700
double yPosCm
Y coordinate of target center.
Definition: WalabotAPI.h:692
struct AntennaPair_struct AntennaPair
Antenna pair for Walabot_GetAntennaPairs()
Communication established with Walabot, but no Profile set.
Definition: WalabotAPI.h:653
Dynamic-imaging filter for the specific frequencies typical of breathing.
Definition: WalabotAPI.h:673
WALABOT_RESULT Walabot_GetImagingTargets(ImagingTarget **targets, int *numTargets)
Provides a list of and the number of identified targets.
WALABOT_RESULT Walabot_GetAntennaLocation(int antennaNum, double &X, double &Y, double &Z)
int Walabot_GetExtendedError()
Obtains more error information for Vayyar support.
WALABOT_RESULT Walabot_SetArenaX(double min, double max, double res)
Sets X-axis range and resolution of arena.
WALABOT_RESULT Walabot_GetTrackerTargets(TrackerTarget **targets, int *numTargets)
Provides a list of and the number of identified targets.
WALABOT_RESULT Walabot_GetRawImageSlice(int **rasterImage, int *sizeX, int *sizeY, double *sliceDepth, double *power)
Provides bidimensional (2-D) image data of the 3D image projected to a plane.
WALABOT_RESULT Walabot_SetTrackerAquisitionThreshold(double value)
APP_PROFILE
< Scan profile for Walabot_SetProfile(); see Imaging Features
Definition: WalabotAPI.h:636
APP_STATUS
< Walabot status returned by Walabot_GetStatus()
Definition: WalabotAPI.h:649
WALABOT_RESULT_ENUM
Definition: WalabotAPI.h:618
Default, no filtering.
Definition: WalabotAPI.h:672
WALABOT_RESULT Walabot_Initialize(const char *configFilename)
WALABOT_RESULT Walabot_GetArenaY(double *min, double *max, double *res)
Obtains current Y-axis range and resolution of arena.
double xPosCm
X coordinate of target center.
Definition: WalabotAPI.h:681
double angleDeg
Angle of pipe relative to Y axis.
Definition: WalabotAPI.h:680
double yPosCm
Y coordinate of target center.
Definition: WalabotAPI.h:701
TARGET_TYPE
Definition: WalabotAPI.h:660
WALABOT_RESULT Walabot_GetArenaPhi(double *min, double *max, double *res)
Obtains azimuth (Φ) range and resolution of arena.
double amplitude
Strongest signal returned from target.
Definition: WalabotAPI.h:685
WALABOT_RESULT Walabot_SetArenaTheta(double min, double max, double res)
Sets polar (Θ) range and resolution of arena.
double amplitude
Strongest signal returned from target.
Definition: WalabotAPI.h:694
WALABOT_RESULT Walabot_GetVersion(char **version)
Obtains current Walabot version.
enum WALABOT_RESULT_ENUM WALABOT_RESULT
WALABOT_RESULT Walabot_GetStatus(APP_STATUS *status, double *param)
Obtains Walabot status.
This profile currently not in use.
Definition: WalabotAPI.h:640
Distance scanning through air; high-resolution images, but slower capture rate.
Definition: WalabotAPI.h:642
WALABOT_RESULT Walabot_GetSensorTargets(SensorTarget **targets, int *numTargets)
Provides a list of and the number of identified targets.
No communication with Walabot.
Definition: WalabotAPI.h:652
Short-range, penetrative scanning in dielectric materials. Only available for Walabot Developer...
Definition: WalabotAPI.h:638
int txAntenna
Transmitting antenna.
Definition: WalabotAPI.h:632
double zPosCm
Z coordinate of target center.
Definition: WalabotAPI.h:693
WALABOT_RESULT Walabot_SetDynamicImageFilter(FILTER_TYPE type)
Dynamic-imaging filter removes static signals, leaving only changing signals.
struct vcomplex_struct vcomplex
Phasor is a complex number which includes the data on the amplitude and the phase of the reflected si...
Operation successful.
Definition: WalabotAPI.h:620
double amplitude
Strongest signal returned from target.
Definition: WalabotAPI.h:703
double widthCm
Reserved for future use.
Definition: WalabotAPI.h:684
WALABOT_RESULT Walabot_SetArenaPhi(double min, double max, double res)
Sets azimuth (Φ) range and resolution of arena.
WALABOT_RESULT Walabot_SetThreshold(double value)
Changes the sensitivity threshold.
< Sensor Tagret parameters
Definition: WalabotAPI.h:689
WALABOT_RESULT Walabot_SetArenaR(double start, double end, double res)
Sets radial (r) range and resolution of arena.
WALABOT_RESULT Walabot_GetArenaR(double *start, double *end, double *res)
Obtains radial (r) range and resolution of arena.
A general error occurred. Inspect the error logs for more information.
Definition: WalabotAPI.h:621
WALABOT_RESULT Walabot_StartCalibration()
Initiates calibration.
WALABOT_RESULT Walabot_GetSignal(int txAntenna, int rxAntenna, double **signal, double **timeAxis, int *numSamples)
Obtains raw signals data from specified antennas. CURRENTLY NOT SUPPORTED FOR TRACKER PROFILE...
WALABOT_RESULT Walabot_Stop()
Stops Walabot when finished scanning.
Distance scanning through air; lower-resolution images for a fast capture rate, useful for tracking q...
Definition: WalabotAPI.h:643
FILTER_TYPE
< Dynamic-imaging filter algorithm for Walabot_SetDynamicImageFilter()
Definition: WalabotAPI.h:670
WALABOT_RESULT Walabot_GetArenaX(double *min, double *max, double *res)
Obtains current X-axis range and resolution of arena.
WALABOT_RESULT Walabot_Disconnect()
Stops communication with Walabot.
double zPosCm
Z coordinate of target center.
Definition: WalabotAPI.h:702
struct ImagingTarget_struct ImagingTarget
< Imaging Tagret parameters
< Tracker Tagret parameters
Definition: WalabotAPI.h:698
WALABOT_RESULT Walabot_GetInstrumentsList(int bufMaxSize, char *outputBuffer)
This function is reserved for future use Obtains a list of connected Walabots.
WALABOT_RESULT Walabot_Start()
Starts Walabot in preparation for scanning.
WALABOT_RESULT Walabot_GetDynamicImageFilter(FILTER_TYPE *type)
Obtains current Walabot Dynamic-imaging filter setting.
WALABOT_RESULT Walabot_SetProfile(APP_PROFILE profile)
Sets scan profile.
Antenna pair for Walabot_GetAntennaPairs()
Definition: WalabotAPI.h:630
double xPosCm
X coordinate of target center.
Definition: WalabotAPI.h:691
WALABOT_RESULT Walabot_Clean()