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 
618 {
622 
623 typedef struct vcomplex_struct
624 {
625  double real;
626  double imag;
627 }vcomplex;
628 
629 typedef struct AntennaPair_struct
630 {
631  int txAntenna;
632  int rxAntenna;
633 }AntennaPair;
634 
636 {
640 
641  PROF_SENSOR = 0x00020000,
643  PROF_TRACKER = 0x00030000
644 
645 };
646 
648 {
656 };
657 
659 {
666 };
667 
669 {
673 };
674 
675 typedef struct ImagingTarget_struct
676 {
678  double angleDeg;
679  double xPosCm;
680  double yPosCm;
681  double zPosCm;
682  double widthCm;
683  double amplitude;
685 
686 
687 typedef struct SensorTarget_struct
688 {
689  double xPosCm;
690  double yPosCm;
691  double zPosCm;
692  double amplitude;
693 }SensorTarget;
694 
695 
696 typedef struct TrackerTarget_struct
697 {
698  double xPosCm;
699  double yPosCm;
700  double zPosCm;
701  double amplitude;
703 
704 
705 #ifdef _WIN32
706  #ifdef WALABOT_EXPORTS
707  #define WALABOT_API __declspec(dllexport)
708  #else
709  #define WALABOT_API __declspec(dllimport)
710  #endif
711 #else
712  #define WALABOT_API
713 #endif
714 
715 
716 extern "C" {
717 
718 // TODO-SHACHAR: new walabot API functions, Need to get approval + documented.
719 WALABOT_API WALABOT_RESULT Walabot_Initialize(const char* configFilename);
721 
728 
734 WALABOT_API const char* Walabot_GetErrorString();
735 
743 
755 WALABOT_API WALABOT_RESULT Walabot_GetInstrumentsList(int bufMaxSize, char* outputBuffer);
756 
768 
779 
787 
798 
806 
817 
828 WALABOT_API WALABOT_RESULT Walabot_GetAntennaPairs(AntennaPair** antennaPairs, int* numPairs);
829 
841 WALABOT_API WALABOT_RESULT Walabot_GetSignal(int txAntenna, int rxAntenna, double** signal, double** timeAxis, int* numSamples);
842 
852 
863 
877 
886 
898 
908 
922 WALABOT_API WALABOT_RESULT Walabot_SetArenaX(double min, double max, double res);
923 
937 WALABOT_API WALABOT_RESULT Walabot_SetArenaY(double min, double max, double res);
938 
952 WALABOT_API WALABOT_RESULT Walabot_SetArenaZ(double start, double end, double res);
953 
967 WALABOT_API WALABOT_RESULT Walabot_SetArenaR(double start, double end, double res);
968 
982 WALABOT_API WALABOT_RESULT Walabot_SetArenaTheta(double min, double max, double res);
983 
997 WALABOT_API WALABOT_RESULT Walabot_SetArenaPhi(double min, double max, double res);
998 
1012 WALABOT_API WALABOT_RESULT Walabot_GetArenaX(double* min, double* max, double* res);
1013 
1027 WALABOT_API WALABOT_RESULT Walabot_GetArenaZ(double* start, double* end, double* res);
1028 
1042 WALABOT_API WALABOT_RESULT Walabot_GetArenaY(double* min, double* max, double* res);
1043 
1057 WALABOT_API WALABOT_RESULT Walabot_GetArenaR(double* start, double* end, double* res);
1058 
1072 WALABOT_API WALABOT_RESULT Walabot_GetArenaTheta(double* min, double* max, double* res);
1073 
1087 WALABOT_API WALABOT_RESULT Walabot_GetArenaPhi(double* min, double* max, double* res);
1088 
1133 WALABOT_API WALABOT_RESULT Walabot_GetRawImageSlice(int** rasterImage, int* sizeX, int* sizeY, double* sliceDepth, double* power);
1134 
1178 WALABOT_API WALABOT_RESULT Walabot_GetRawImage(int** rasterImage, int* sizeX, int* sizeY, int* sizeZ, double* power);
1179 
1190 
1204 
1217 
1230 
1231 
1243 
1244 
1254 
1272 
1278 #define PARAM_DIELECTRIC_CONSTANT ((char*)"DielectricConstant")
1279 
1284 #define PARAM_CONFIDENCE_FACTOR ((char*)"ConfidenceFactor")
1285 
1294 WALABOT_API WALABOT_RESULT Walabot_SetAdvancedParameter(char* paramName, double value);
1295 
1306 WALABOT_API WALABOT_RESULT Walabot_GetAdvancedParameter(char* paramName, double* value);
1307 
1308 WALABOT_API WALABOT_RESULT Walabot_GetAntennaLocation(int antennaNum, double& X, double& Y, double& Z);
1309 
1310 }
1311 
< Imaging Tagret parameters
Definition: WalabotAPI.h:675
double yPosCm
Y coordinate of target center.
Definition: WalabotAPI.h:680
Moving Target Identification: standard dynamic-imaging filter:
Definition: WalabotAPI.h:672
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:632
Short-range, small number of antennas pairs - This profile currently not in use.
Definition: WalabotAPI.h:638
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:652
Now calibrating; in this case Walabot_GetStatus() also provides percentage completed.
Definition: WalabotAPI.h:654
TARGET_TYPE type
Estimated identity of target.
Definition: WalabotAPI.h:677
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:623
WALABOT_RESULT Walabot_CancelCalibration()
Stops calibration.
double imag
Phasor imaginary component.
Definition: WalabotAPI.h:626
#define WALABOT_API
Definition: WalabotAPI.h:712
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:653
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:681
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:625
double xPosCm
X coordinate of target center.
Definition: WalabotAPI.h:698
double yPosCm
Y coordinate of target center.
Definition: WalabotAPI.h:690
struct AntennaPair_struct AntennaPair
Antenna pair for Walabot_GetAntennaPairs()
Communication established with Walabot, but no Profile set.
Definition: WalabotAPI.h:651
Dynamic-imaging filter for the specific frequencies typical of breathing.
Definition: WalabotAPI.h:671
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.
APP_PROFILE
< Scan profile for Walabot_SetProfile(); see Imaging Features
Definition: WalabotAPI.h:635
APP_STATUS
< Walabot status returned by Walabot_GetStatus()
Definition: WalabotAPI.h:647
WALABOT_RESULT_ENUM
Definition: WalabotAPI.h:617
Default, no filtering.
Definition: WalabotAPI.h:670
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:679
double angleDeg
Angle of pipe relative to Y axis.
Definition: WalabotAPI.h:678
double yPosCm
Y coordinate of target center.
Definition: WalabotAPI.h:699
TARGET_TYPE
Definition: WalabotAPI.h:658
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:683
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:692
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:639
Distance scanning through air; high-resolution images, but slower capture rate.
Definition: WalabotAPI.h:641
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:650
Short-range, penetrative scanning in dielectric materials. Only available for Walabot Developer...
Definition: WalabotAPI.h:637
int txAntenna
Transmitting antenna.
Definition: WalabotAPI.h:631
double zPosCm
Z coordinate of target center.
Definition: WalabotAPI.h:691
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:619
double amplitude
Strongest signal returned from target.
Definition: WalabotAPI.h:701
double widthCm
Reserved for future use.
Definition: WalabotAPI.h:682
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:687
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:620
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:642
FILTER_TYPE
< Dynamic-imaging filter algorithm for Walabot_SetDynamicImageFilter()
Definition: WalabotAPI.h:668
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:700
struct ImagingTarget_struct ImagingTarget
< Imaging Tagret parameters
< Tracker Tagret parameters
Definition: WalabotAPI.h:696
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:629
double xPosCm
X coordinate of target center.
Definition: WalabotAPI.h:689
WALABOT_RESULT Walabot_Clean()