Walabot API
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 
631 {
657  // Here are the error groups
658  WALABOT_ERR_PROTOCOL = 0x00010000,
660  WALABOT_ERR_DB = 0x00030000,
661  WALABOT_ERR_USB = 0x00040000,
662  WALABOT_ERR_SEQ = 0x00050000,
663 
664  WALABOT_ERR_SCHEDULER = 0x00070000,
665  WALABOT_ERR_HW_PLAN = 0x00080000,
666  WALABOT_ERR_MULTI_CHIP = 0x00090000,
667  WALABOT_ERR_REC_PLAN = 0x000A0000,
668  WALABOT_ERR_NULL_OBJECT = 0x000B0000,
669  WALABOT_ERR_IN_COMPILER = 0x000C0000,
672  WALABOT_ERR_LOG = 0x000F0000,
673 
675 
677 
678 typedef struct vcomplex_struct
679 {
680  double real;
681  double imag;
682 }vcomplex;
683 
684 typedef struct AntennaPair_struct
685 {
686  int txAntenna;
687  int rxAntenna;
688 }AntennaPair;
689 
691 {
694 
695  PROF_SENSOR = 0x00020000,
697 };
698 
700 {
706 };
707 
709 {
712 };
713 
715 {
719 };
720 
721 typedef struct ImagingTarget_struct
722 {
724  double angleDeg;
725  double xPosCm;
726  double yPosCm;
727  double zPosCm;
728  double widthCm;
729  double amplitude;
731 
732 
733 typedef struct SensorTarget_struct
734 {
735  double xPosCm;
736  double yPosCm;
737  double zPosCm;
738  double amplitude;
739 }SensorTarget;
740 
741 
742 #define WALABOT_API extern "C" __declspec(dllimport)
743 
750 
756 WALABOT_API const char* Walabot_GetErrorString();
757 
765 
777 WALABOT_API WALABOT_RESULT Walabot_GetInstrumentsList(int bufMaxSize, char* outputBuffer);
778 
790 
801 
809 
820 
828 
839 
850 WALABOT_API WALABOT_RESULT Walabot_GetAntennaPairs(AntennaPair** antennaPairs, int* numPairs);
851 
863 WALABOT_API WALABOT_RESULT Walabot_GetSignal(int txAntenna, int rxAntenna, double** signal, double** timeAxis, int* numSamples);
864 
874 
885 
899 
908 
919 
929 
943 WALABOT_API WALABOT_RESULT Walabot_SetArenaX(double min, double max, double res);
944 
958 WALABOT_API WALABOT_RESULT Walabot_SetArenaY(double min, double max, double res);
959 
973 WALABOT_API WALABOT_RESULT Walabot_SetArenaZ(double start, double end, double res);
974 
988 WALABOT_API WALABOT_RESULT Walabot_SetArenaR(double start, double end, double res);
989 
1003 WALABOT_API WALABOT_RESULT Walabot_SetArenaTheta(double min, double max, double res);
1004 
1018 WALABOT_API WALABOT_RESULT Walabot_SetArenaPhi(double min, double max, double res);
1019 
1033 WALABOT_API WALABOT_RESULT Walabot_GetArenaX(double* min, double* max, double* res);
1034 
1048 WALABOT_API WALABOT_RESULT Walabot_GetArenaZ(double* start, double* end, double* res);
1049 
1063 WALABOT_API WALABOT_RESULT Walabot_GetArenaY(double* min, double* max, double* res);
1064 
1078 WALABOT_API WALABOT_RESULT Walabot_GetArenaR(double* start, double* end, double* res);
1079 
1093 WALABOT_API WALABOT_RESULT Walabot_GetArenaTheta(double* min, double* max, double* res);
1094 
1108 WALABOT_API WALABOT_RESULT Walabot_GetArenaPhi(double* min, double* max, double* res);
1109 
1154 WALABOT_API WALABOT_RESULT Walabot_GetRawImageSlice(int** rasterImage, int* sizeX, int* sizeY, double* sliceDepth, double* power);
1155 
1199 WALABOT_API WALABOT_RESULT Walabot_GetRawImage(int** rasterImage, int* sizeX, int* sizeY, int* sizeZ, double* power);
1200 
1211 
1225 
1238 
1250 
1251 
1261 
1279 
1285 #define PARAM_DIELECTRIC_CONSTANT ((char*)"DielectricConstant")
1286 
1291 #define PARAM_CONFIDENCE_FACTOR ((char*)"ConfidenceFactor")
1292 
1301 WALABOT_API WALABOT_RESULT Walabot_SetAdvancedParameter(char* paramName, double value);
1302 
1313 WALABOT_API WALABOT_RESULT Walabot_GetAdvancedParameter(char* paramName, double* value);
1314 
1315 WALABOT_API WALABOT_RESULT Walabot_GetAntennaLocation(int antennaNum, double& X, double& Y, double& Z);
1316 
1317 
< Imaging Tagret parameters
Definition: WalabotAPI.h:721
A provided parameter value was out of its allowed range.
Definition: WalabotAPI.h:646
double yPosCm
Y coordinate of target center.
Definition: WalabotAPI.h:726
Profile set, but not currently scanning or calibrating.
Definition: WalabotAPI.h:703
Moving Target Identification: standard dynamic-imaging filter:
Definition: WalabotAPI.h:718
WALABOT_RESULT Walabot_GetAntennaPairs(AntennaPair **antennaPairs, int *numPairs)
Obtains a list of Walabot antenna pairs.
Walabot_Start() was not called.
Definition: WalabotAPI.h:636
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:687
No communication with Walabot.
Definition: WalabotAPI.h:701
Short-range, small number of antennas pairs.
Definition: WalabotAPI.h:693
Error during internal logging.
Definition: WalabotAPI.h:672
Invalid antenna number.
Definition: WalabotAPI.h:633
No data returned for specified request.
Definition: WalabotAPI.h:643
Walabot device USB error.
Definition: WalabotAPI.h:649
WALABOT_RESULT Walabot_SetSettingsFolder(char *folder)
Obtains Sets location of Walabot internal database, if moved from default.
struct SensorTarget_struct SensorTarget
< Sensor Tagret parameters
Provided buffer is too small.
Definition: WalabotAPI.h:652
Application already running.
Definition: WalabotAPI.h:635
Error in multi Walabot configuration setup.
Definition: WalabotAPI.h:666
Now calibrating; in this case Walabot_GetStatus() also provides percentage completed.
Definition: WalabotAPI.h:705
The requested tx-rx pair is ambiguous (recorded in more than one port group)
Definition: WalabotAPI.h:640
TARGET_TYPE type
Estimated identity of target.
Definition: WalabotAPI.h:723
Phasor is a complex number which includes the data on the amplitude and the phase of the reflected si...
Definition: WalabotAPI.h:678
WALABOT_RESULT Walabot_CancelCalibration()
Stops calibration.
double imag
Phasor imaginary component.
Definition: WalabotAPI.h:681
Internal Error.
Definition: WalabotAPI.h:658
#define WALABOT_API
Definition: WalabotAPI.h:742
A provided parameter value was out of its allowed range.
Definition: WalabotAPI.h:650
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...
Error in recoding schema.
Definition: WalabotAPI.h:667
Error in arena resize parameters.
Definition: WalabotAPI.h:648
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.
Walabot_Start() was not called.
Definition: WalabotAPI.h:637
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:704
WALABOT_RESULT Walabot_GetAdvancedParameter(char *paramName, double *value)
Obtains current Walabot advnaced parameter value.
No image has been recored by the Walabot.
Definition: WalabotAPI.h:655
{Tx,Rx} Antenna pair error
Definition: WalabotAPI.h:639
WALABOT_RESULT Walabot_SetAdvancedParameter(char *paramName, double value)
Set advanced Walabot parameter.
Error during building recording profile schema.
Definition: WalabotAPI.h:669
double zPosCm
Z coordinate of target center.
Definition: WalabotAPI.h:727
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.
A general error occurred. Inspect the error logs for more information.
Definition: WalabotAPI.h:674
WALABOT_RESULT Walabot_SetArenaY(double min, double max, double res)
Sets Y-axis range and resolution of arena.
General Walabot error.
Definition: WalabotAPI.h:638
double real
Phasor real component.
Definition: WalabotAPI.h:680
double yPosCm
Y coordinate of target center.
Definition: WalabotAPI.h:736
struct AntennaPair_struct AntennaPair
Antenna pair for Walabot_GetAntennaPairs()
Communication established with Walabot, but no Profile set.
Definition: WalabotAPI.h:702
Dynamic-imaging filter for the specific frequencies typical of breathing.
Definition: WalabotAPI.h:717
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_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.
APP_PROFILE
< Scan profile for Walabot_SetProfile(); see Imaging Features
Definition: WalabotAPI.h:690
APP_STATUS
< Walabot status returned by Walabot_GetStatus()
Definition: WalabotAPI.h:699
WALABOT_RESULT_ENUM
Definition: WalabotAPI.h:630
Default, no filtering.
Definition: WalabotAPI.h:716
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:725
double angleDeg
Angle of pipe relative to Y axis.
Definition: WalabotAPI.h:724
Walabot device disconnected.
Definition: WalabotAPI.h:644
General Walabot error.
Definition: WalabotAPI.h:647
TARGET_TYPE
Definition: WalabotAPI.h:708
General Walabot error.
Definition: WalabotAPI.h:634
Error during initilization process.
Definition: WalabotAPI.h:670
Invalid input parameter.
Definition: WalabotAPI.h:645
WALABOT_RESULT Walabot_GetArenaPhi(double *min, double *max, double *res)
Obtains azimuth (Φ) range and resolution of arena.
Unable to write to device storge.
Definition: WalabotAPI.h:659
double amplitude
Strongest signal returned from target.
Definition: WalabotAPI.h:729
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:738
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.
Distance scanning through air; high-resolution images, but slower capture rate.
Definition: WalabotAPI.h:695
WALABOT_RESULT Walabot_GetSensorTargets(SensorTarget **targets, int *numTargets)
Provides a list of and the number of identified targets.
Short-range, penetrative scanning in dielectric materials.
Definition: WalabotAPI.h:692
int txAntenna
Transmitting antenna.
Definition: WalabotAPI.h:686
double zPosCm
Z coordinate of target center.
Definition: WalabotAPI.h:737
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:632
double widthCm
Reserved for future use.
Definition: WalabotAPI.h:728
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.
Non initlizated object.
Definition: WalabotAPI.h:668
Invalid Profile type.
Definition: WalabotAPI.h:654
< Sensor Tagret parameters
Definition: WalabotAPI.h:733
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.
WALABOT_RESULT Walabot_StartCalibration()
Initiates calibration.
WALABOT_RESULT Walabot_GetSignal(int txAntenna, int rxAntenna, double **signal, double **timeAxis, int *numSamples)
Obtains raw image data from specified antennas.
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:696
FILTER_TYPE
< Dynamic-imaging filter algorithm for Walabot_SetDynamicImageFilter()
Definition: WalabotAPI.h:714
Didn&#39;t find setting folder. Use Walabot_SetSettingsFolder(...) to fix it.
Definition: WalabotAPI.h:671
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.
Error in recoding schema.
Definition: WalabotAPI.h:665
The SDK is unable to communicate with the instrument.
Definition: WalabotAPI.h:651
General Walabot error.
Definition: WalabotAPI.h:656
Provided buffer is too small.
Definition: WalabotAPI.h:653
struct ImagingTarget_struct ImagingTarget
< Imaging Tagret parameters
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.
Unable to access Database.
Definition: WalabotAPI.h:660
WALABOT_RESULT Walabot_GetDynamicImageFilter(FILTER_TYPE *type)
Obtains current Walabot Dynamic-imaging filter setting.
Data recording fetch.
Definition: WalabotAPI.h:664
WALABOT_RESULT Walabot_SetProfile(APP_PROFILE profile)
Sets scan profile.
Antenna pair for Walabot_GetAntennaPairs()
Definition: WalabotAPI.h:684
double xPosCm
X coordinate of target center.
Definition: WalabotAPI.h:735