ilabs-flir 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Flir.podspec +31 -0
- package/README.md +1271 -0
- package/android/Flir/build.gradle.kts +80 -0
- package/android/Flir/libs/flir-stubs.jar +0 -0
- package/android/Flir/src/main/AndroidManifest.xml +31 -0
- package/android/Flir/src/main/java/flir/android/CameraHandler.java +194 -0
- package/android/Flir/src/main/java/flir/android/FlirController.kt +11 -0
- package/android/Flir/src/main/java/flir/android/FlirDownloadManager.kt +75 -0
- package/android/Flir/src/main/java/flir/android/FlirDownloadPackage.kt +16 -0
- package/android/Flir/src/main/java/flir/android/FlirFrameCache.kt +6 -0
- package/android/Flir/src/main/java/flir/android/FlirManager.kt +248 -0
- package/android/Flir/src/main/java/flir/android/FlirModule.kt +74 -0
- package/android/Flir/src/main/java/flir/android/FlirPackage.kt +16 -0
- package/android/Flir/src/main/java/flir/android/FlirSDKLoader.kt +191 -0
- package/android/Flir/src/main/java/flir/android/FlirStatus.kt +12 -0
- package/android/Flir/src/main/java/flir/android/FlirView.kt +48 -0
- package/android/Flir/src/main/java/flir/android/FlirViewManager.kt +13 -0
- package/android/Flir/src/main/java/flir/android/FrameDataHolder.java +14 -0
- package/app.plugin.js +264 -0
- package/expo-module.config.json +6 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRBattery.h +76 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRCalibration.h +108 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRCamera.h +156 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRCameraDeviceInfo.h +53 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRCameraEvent.h +132 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRCameraImport.h +204 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRColorDistributionSettings.h +204 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRColorizer.h +82 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRDiscoveredCamera.h +44 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRDiscovery.h +132 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRDisplaySettings.h +29 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRFocus.h +70 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRFusion.h +192 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRFusionController.h +136 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRFusionTransformation.h +35 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRIdentity.h +264 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRImageBase.h +196 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRImageColorizer.h +26 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRImageStatistics.h +61 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRIsotherms.h +208 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementArea.h +38 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementCollection.h +147 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementDelta.h +62 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementDimensions.h +33 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementEllipse.h +49 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementLine.h +66 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementMarker.h +69 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementParameters.h +41 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementRectangle.h +36 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementReference.h +27 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementShape.h +46 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementSpot.h +33 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementsController.h +160 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRMeterLinkSensorPoll.h +247 -0
- package/ios/Flir/Framework/ThermalSDK/FLIROverlayController.h +27 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRPalette.h +60 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRPaletteController.h +36 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRPaletteManager.h +97 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRQuantification.h +55 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRRemoteControl.h +393 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRRenderer.h +35 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRRendererImpl.h +17 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRScale.h +99 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRScaleController.h +44 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRStream.h +109 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRStreamer.h +124 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRSystem.h +40 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRTemperatureRange.h +43 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRThermalDelta.h +77 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRThermalImage.h +331 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRThermalImageFile.h +56 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRThermalParameters.h +31 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRThermalValue.h +92 -0
- package/ios/Flir/Framework/ThermalSDK/FLIRWirelessCameraDetails.h +88 -0
- package/ios/Flir/Framework/ThermalSDK/ThermalSDK.h +73 -0
- package/ios/Flir/SDKLoader/FlirSDKLoader.m +13 -0
- package/ios/Flir/SDKLoader/FlirSDKLoader.swift +175 -0
- package/ios/Flir/src/FlirEventEmitter.h +12 -0
- package/ios/Flir/src/FlirEventEmitter.m +33 -0
- package/ios/Flir/src/FlirModule.h +10 -0
- package/ios/Flir/src/FlirModule.m +381 -0
- package/ios/Flir/src/FlirPreviewView.h +13 -0
- package/ios/Flir/src/FlirPreviewView.m +24 -0
- package/ios/Flir/src/FlirState.h +20 -0
- package/ios/Flir/src/FlirState.m +79 -0
- package/ios/Flir/src/FlirViewManager.h +9 -0
- package/ios/Flir/src/FlirViewManager.m +16 -0
- package/package.json +61 -0
- package/react-native.config.js +14 -0
- package/scripts/copy_ios_libs.sh +32 -0
- package/scripts/download-sdk.js +62 -0
- package/scripts/prepare-binaries.sh +171 -0
- package/sdk-manifest.json +30 -0
- package/src/FlirDownload.ts +78 -0
- package/src/index.d.ts +17 -0
- package/src/index.js +7 -0
- package/src/index.ts +7 -0
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
//
|
|
2
|
+
// FLIRFocus.h
|
|
3
|
+
// ThermalSDK
|
|
4
|
+
//
|
|
5
|
+
// Created by FLIR on 2020-07-02.
|
|
6
|
+
// Copyright © 2020 Teledyne FLIR. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <Foundation/Foundation.h>
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Determines if camera should focus on near or far objects or control focus automatically (depending on the scene).
|
|
13
|
+
*/
|
|
14
|
+
typedef NS_ENUM(NSUInteger, FLIRDistance) {
|
|
15
|
+
NEAR,
|
|
16
|
+
FAR,
|
|
17
|
+
AUTO
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Autofocus modes.
|
|
22
|
+
*/
|
|
23
|
+
typedef NS_ENUM(NSUInteger, FLIRAutoFocusMode) {
|
|
24
|
+
/**
|
|
25
|
+
* Allows to specify focus distance parameter.
|
|
26
|
+
*/
|
|
27
|
+
NORMAL,
|
|
28
|
+
/**
|
|
29
|
+
* Camera automatically and continuously manages focus.
|
|
30
|
+
*/
|
|
31
|
+
CONTINUOUS
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Defines the focus calculation method. I.e. based on maximizing the image contrast or based on laser distance measurement.
|
|
36
|
+
*/
|
|
37
|
+
typedef NS_ENUM(NSUInteger, FLIRCalculationMethod) {
|
|
38
|
+
/**
|
|
39
|
+
* calculation based on maximizing the image contrast
|
|
40
|
+
*/
|
|
41
|
+
CONTRAST,
|
|
42
|
+
/**
|
|
43
|
+
* calculation based on laser distance measurement
|
|
44
|
+
*/
|
|
45
|
+
LASER,
|
|
46
|
+
/**
|
|
47
|
+
* calculation method automatically chosen by the camera (if supported)
|
|
48
|
+
*/
|
|
49
|
+
AUTOMATIC
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
/** focus settings for the camera */
|
|
53
|
+
@interface FLIRFocus : NSObject
|
|
54
|
+
|
|
55
|
+
/** Triggers a single autofocus / AF event. */
|
|
56
|
+
-(BOOL)autofocus: (out NSError * _Nullable *_Nullable)error;
|
|
57
|
+
/** get distance selection */
|
|
58
|
+
- (FLIRDistance)getDistance;
|
|
59
|
+
/** set distance selection */
|
|
60
|
+
- (BOOL)setDistance: (FLIRDistance)distance error: (out NSError * _Nullable *_Nullable)error;
|
|
61
|
+
/** get autofocus mode */
|
|
62
|
+
- (FLIRAutoFocusMode)getMode;
|
|
63
|
+
/** set autofocus mode */
|
|
64
|
+
- (BOOL)setMode: (FLIRAutoFocusMode)mode error: (out NSError * _Nullable *_Nullable)error;
|
|
65
|
+
/** get focus calculation method */
|
|
66
|
+
- (FLIRCalculationMethod)getCalculationMethod;
|
|
67
|
+
/** set focus calculation method */
|
|
68
|
+
- (BOOL)setCalculationMethod: (FLIRCalculationMethod)method error: (out NSError * _Nullable *_Nullable)error;
|
|
69
|
+
|
|
70
|
+
@end
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
//
|
|
2
|
+
// FLIRFusion.h
|
|
3
|
+
//
|
|
4
|
+
// Copyright © 2019 Teledyne FLIR. All rights reserved.
|
|
5
|
+
//
|
|
6
|
+
|
|
7
|
+
#ifndef FLIRFusion_h
|
|
8
|
+
#define FLIRFusion_h
|
|
9
|
+
#endif
|
|
10
|
+
|
|
11
|
+
#import "FLIRFusion.h"
|
|
12
|
+
#import "FLIRThermalValue.h"
|
|
13
|
+
#import "FLIRFusionTransformation.h"
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Specifies the fusion modes of the thermal image.
|
|
17
|
+
*/
|
|
18
|
+
typedef enum FUSION_MODE
|
|
19
|
+
{
|
|
20
|
+
/** Ordinary IR image. */
|
|
21
|
+
IR_MODE,
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Visual image is zoomed and fused with IR image.
|
|
25
|
+
* Note: for not aligned DC image use FLIRThermalImage#getPhoto().
|
|
26
|
+
*/
|
|
27
|
+
VISUAL_MODE,
|
|
28
|
+
|
|
29
|
+
/** Picture in picture fusion, where a defined box/rectangle shape with IR image pixels is placed on top of the visual image. */
|
|
30
|
+
FUSION_PIP_MODE,
|
|
31
|
+
|
|
32
|
+
/** IR image is blended with visual image based on the specified {@link com.flir.thermalsdk.image.ThermalValue} threshold. */
|
|
33
|
+
FUSION_THERMAL_MODE,
|
|
34
|
+
|
|
35
|
+
/** Thermal MSX (Multi Spectral Dynamic Imaging) mode displays an infrared image where the edges of the objects are enhanced with information from the visual image. */
|
|
36
|
+
FUSION_MSX_MODE,
|
|
37
|
+
|
|
38
|
+
/** IR image is blended with visual image based on the specified blending factor value. Use Blending mode to display a blended image that uses a mix of infrared pixels and digital photo pixels. */
|
|
39
|
+
FUSION_BLENDING_MODE,
|
|
40
|
+
} /** Specifies the fusion modes of the thermal image. */ FusionMode;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Enumeration of the different fusion color modes.
|
|
44
|
+
*/
|
|
45
|
+
typedef enum ColorMode
|
|
46
|
+
{
|
|
47
|
+
/// <summary>
|
|
48
|
+
/// Fusion image has visual image in color.
|
|
49
|
+
/// </summary>
|
|
50
|
+
Color = 0,
|
|
51
|
+
|
|
52
|
+
/// <summary>
|
|
53
|
+
/// Fusion image has visual image in b/w.
|
|
54
|
+
/// </summary>
|
|
55
|
+
BlackAndWhite = 1
|
|
56
|
+
} /** Enumeration of the different fusion color modes. */ VisualColorMode;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* This class provides functionality for image fusion.
|
|
60
|
+
*
|
|
61
|
+
* @note Image fusion is a function that will merge the Thermal image with a photo depending on
|
|
62
|
+
* the selected fusion mode.
|
|
63
|
+
*/
|
|
64
|
+
@interface FLIRFusion : NSObject
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Set the fusion mode
|
|
68
|
+
*
|
|
69
|
+
* @param mode The fusion mode.
|
|
70
|
+
*/
|
|
71
|
+
-(void) setFusionMode: (FusionMode) mode;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Get the fusion mode.
|
|
75
|
+
*
|
|
76
|
+
* @return The fusion mode.
|
|
77
|
+
*/
|
|
78
|
+
-(FusionMode) getFusionMode;
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Defines multi-spectral fusion image mode.
|
|
82
|
+
* Thermal MSX (Multi Spectral Dynamic Imaging) mode displays an infrared image where the edges of the objects are enhanced with information from the visual image.
|
|
83
|
+
* The higher the alpha level, the more edges will be detected.
|
|
84
|
+
* Thermal image may appear a bit differently for the same MSX alpha value depending on the camera's resolution.
|
|
85
|
+
* Thus the value should be based on the expected results and visible effect, but typical and suggested values are:
|
|
86
|
+
* - FLIR ONE gen 2: 2.0 or 3.0
|
|
87
|
+
* - FLIR ONE gen 3: 8.0 or higher
|
|
88
|
+
*
|
|
89
|
+
* @note Does no longer change the fusion mode.
|
|
90
|
+
* @param alpha The intensity of the MSX, indicate how much the visual image is blended with IR (valid value range: [0.0, 100.0]).
|
|
91
|
+
*/
|
|
92
|
+
-(void) setMSX: (double) alpha;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Get thermal image MSX settings.
|
|
96
|
+
*/
|
|
97
|
+
-(double) getMSX;
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Defines the fusion image mode, where Thermal image is displayed in defined area on top of the Visual image.
|
|
101
|
+
*
|
|
102
|
+
* @note Does no longer change the fusion mode.
|
|
103
|
+
* @param rect The rectangle where the Thermal image will be placed inside the photo.
|
|
104
|
+
*/
|
|
105
|
+
-(void) setPictureInPicture: (CGRect) rect;
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Get the picture in picture rectangle.
|
|
109
|
+
*
|
|
110
|
+
* @return Rectangle that defines the PiP position and size.
|
|
111
|
+
*/
|
|
112
|
+
- (CGRect) getPictureInPictureRect;
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Defines the fusion image mode, where only the visual image is displayed. Settings for FusionMode Visual.
|
|
116
|
+
* This mode hides the Thermal Image, only the digital photo is displayed.
|
|
117
|
+
* Note: visual image is zoomed and fused with IR image. For not aligned DC image use FLIRThermalImage#getPhoto().
|
|
118
|
+
*
|
|
119
|
+
* @note Does no longer change the fusion mode.
|
|
120
|
+
* @param mode Currently used color scheme the visual image is displayed in.
|
|
121
|
+
*/
|
|
122
|
+
-(void) setVisualOnly:(VisualColorMode) mode;
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Get thermal image visual only settings.
|
|
126
|
+
*/
|
|
127
|
+
-(VisualColorMode) getVisualOnly;
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Defines the image fusion mode, where thermal and visual image is combined for an output image.
|
|
131
|
+
*
|
|
132
|
+
* @note Does no longer change the fusion mode.
|
|
133
|
+
* @param min The minimum blending level between thermal and visual image.
|
|
134
|
+
* @param max The maximum blending level between thermal and visual image.
|
|
135
|
+
*/
|
|
136
|
+
- (void)setThermalFusionWithMin:(FLIRThermalValue * _Nonnull)min andMax:(FLIRThermalValue * _Nonnull) max;
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Defines the image fusion mode, where thermal and visual image is combined for an output image.
|
|
140
|
+
*
|
|
141
|
+
* @note Does no longer change the fusion mode.
|
|
142
|
+
* @param min The minimum blending level between thermal and visual image.
|
|
143
|
+
*/
|
|
144
|
+
- (void)setThermalFusionWithMin:(FLIRThermalValue * _Nonnull)min;
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Defines the image fusion mode, where thermal and visual image is combined for an output image.
|
|
148
|
+
*
|
|
149
|
+
* @note Does no longer change the fusion mode.
|
|
150
|
+
* @param max The maximum blending level between thermal and visual image.
|
|
151
|
+
*/
|
|
152
|
+
- (void)setThermalFusionWithMax:(FLIRThermalValue * _Nonnull)max;
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Get thermal image thermal fusion min level.
|
|
156
|
+
*/
|
|
157
|
+
- (FLIRThermalValue * _Nonnull)getThermalFusionMin;
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Get thermal image thermal fusion max level.
|
|
161
|
+
*/
|
|
162
|
+
- (FLIRThermalValue * _Nonnull)getThermalFusionMax;
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Defines the fusion image mode, where Thermal image blends with the Visual image.
|
|
167
|
+
* Use Blending mode to display a blended image that uses a mix of infrared pixels and digital photo pixels.
|
|
168
|
+
* The blending level between both images can be adjusted based on the temperatures stored for the Thermal image.
|
|
169
|
+
*
|
|
170
|
+
* @note Does no longer change the fusion mode.
|
|
171
|
+
* @param level The blending level between thermal and visual image. (1.0 = only IR, 0.0 = only visual).
|
|
172
|
+
* @param colorMode The color scheme the visual image is displayed in.
|
|
173
|
+
*/
|
|
174
|
+
- (void)setBlending:(double)level ColorMode:(VisualColorMode)colorMode;
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Get thermal image thermal blending level.
|
|
178
|
+
*/
|
|
179
|
+
- (double)getBlendingLevel;
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* Get thermal image thermal blending colormode.
|
|
183
|
+
*/
|
|
184
|
+
- (VisualColorMode)getBlendingColorMode;
|
|
185
|
+
|
|
186
|
+
/** Set fusion transformation. */
|
|
187
|
+
- (void)setTransformation:(FLIRFusionTransformation * _Nonnull)transformation;
|
|
188
|
+
|
|
189
|
+
/** Get fusion transformation. */
|
|
190
|
+
- (FLIRFusionTransformation * _Nonnull)getTransformation;
|
|
191
|
+
|
|
192
|
+
@end
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
//
|
|
2
|
+
// FLIRFusionController.h
|
|
3
|
+
// ThermalSDK
|
|
4
|
+
//
|
|
5
|
+
// Created by FLIR on 2020-07-02.
|
|
6
|
+
// Copyright © 2020 Teledyne FLIR. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <Foundation/Foundation.h>
|
|
10
|
+
#import <CoreGraphics/CoreGraphics.h>
|
|
11
|
+
|
|
12
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Defines how fusion span level is displayed.
|
|
16
|
+
*/
|
|
17
|
+
typedef NS_ENUM(NSUInteger, FLIRFusionSpanLevel) {
|
|
18
|
+
DC = 0,
|
|
19
|
+
IR = 1,
|
|
20
|
+
THERMAL_FUSION = 7
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Channel mode/type used to display live view on the camera.
|
|
25
|
+
*/
|
|
26
|
+
typedef NS_ENUM(NSUInteger, FLIRChannelType) {
|
|
27
|
+
IR_TYPE,
|
|
28
|
+
VISUAL,
|
|
29
|
+
FUSION
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Definition of image's display mode. Depending on selected mode thermal or visual data is used to
|
|
34
|
+
* render the image. Provides detailed information for fusion.
|
|
35
|
+
*/
|
|
36
|
+
typedef NS_ENUM(NSUInteger, FLIRDisplayMode) {
|
|
37
|
+
/**
|
|
38
|
+
* The camera sends video in basic mode: {@link ChannelType#IR} or {@link ChannelType#VISUAL}
|
|
39
|
+
*/
|
|
40
|
+
NONE,
|
|
41
|
+
/**
|
|
42
|
+
* The camera video in fusion blending mode.
|
|
43
|
+
*/
|
|
44
|
+
FUSION_MODE,
|
|
45
|
+
/**
|
|
46
|
+
* The camera video in picture in picture mode.
|
|
47
|
+
*/
|
|
48
|
+
PIP,
|
|
49
|
+
/**
|
|
50
|
+
* The camera video in multi-spectral image mode.
|
|
51
|
+
*/
|
|
52
|
+
MSX,
|
|
53
|
+
/**
|
|
54
|
+
* Image displayed a digital.
|
|
55
|
+
*/
|
|
56
|
+
DIGITAL,
|
|
57
|
+
/**
|
|
58
|
+
* Image displayed as difference.
|
|
59
|
+
*/
|
|
60
|
+
DIFF,
|
|
61
|
+
/**
|
|
62
|
+
* Image displayed as blending between thermal and digital images.
|
|
63
|
+
*/
|
|
64
|
+
BLENDING
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
/** a wrapper for the display mode */
|
|
68
|
+
@interface FLIRMode : NSObject
|
|
69
|
+
/** display mode */
|
|
70
|
+
@property (nonatomic, assign) FLIRDisplayMode mode;
|
|
71
|
+
@end
|
|
72
|
+
|
|
73
|
+
/** fusion options for the camera */
|
|
74
|
+
@interface FLIRFusionController : NSObject
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Defines the active channel on displaying image on live view on the camera.
|
|
78
|
+
* This property may change dynamically after displayMode property is changed. Emulated cameras are NOT affected.
|
|
79
|
+
*/
|
|
80
|
+
- (FLIRChannelType)getActiveChannel;
|
|
81
|
+
/**
|
|
82
|
+
* Defines the active channel on displaying image on live view on the camera.
|
|
83
|
+
* This property may change dynamically after displayMode property is changed. Emulated cameras are NOT affected.
|
|
84
|
+
* Writing this value should be done with caution, because in order to camera physically change the mode it is also required to apply proper values to displayMode and fusionSpanLevel.
|
|
85
|
+
* This is highly recommended to use displayMode only, which automatically makes sure both fusionSpanLevel and this property are set accordingly.
|
|
86
|
+
* Avoid setting this property while streaming.
|
|
87
|
+
*/
|
|
88
|
+
- (BOOL)setActiveChannel: (FLIRChannelType)activeChannel error: (out NSError * _Nullable *_Nullable)error;
|
|
89
|
+
/** subscribe to changes of the active channel (delegate method will be called when channel changes) */
|
|
90
|
+
- (BOOL)subscribeActiveChannel: (out NSError * _Nullable *_Nullable)error;
|
|
91
|
+
/** unsubscribe to changes of the active channel */
|
|
92
|
+
- (void)unsubscribeActiveChannel;
|
|
93
|
+
|
|
94
|
+
/** list valid display modes for the camera */
|
|
95
|
+
- (NSArray<FLIRMode*>* _Nullable)getValidModes;
|
|
96
|
+
/** get true if msx is supported */
|
|
97
|
+
- (BOOL)getMsxSupported;
|
|
98
|
+
/** get a rectangle for picture in picture display */
|
|
99
|
+
- (CGRect)getPIPWindow;
|
|
100
|
+
/** set a rectangle for picture in picture display */
|
|
101
|
+
- (BOOL)setPIPWindow: (CGRect)pipWindow error: (out NSError * _Nullable *_Nullable)error;
|
|
102
|
+
/** get true if fusion is always on */
|
|
103
|
+
- (BOOL)getFusionAlwaysOn;
|
|
104
|
+
/** get or set the display mode used */
|
|
105
|
+
- (FLIRDisplayMode)getDisplayMode;
|
|
106
|
+
/** get or set the display mode used */
|
|
107
|
+
- (BOOL)setDisplayMode: (FLIRDisplayMode)displayMode error: (out NSError * _Nullable *_Nullable)error;
|
|
108
|
+
/**
|
|
109
|
+
* Defines how fusion span level is displayed.
|
|
110
|
+
* This property may change dynamically after displayMode property is changed. Emulated cameras are NOT affected.
|
|
111
|
+
*/
|
|
112
|
+
- (FLIRFusionSpanLevel)getFusionSpanLevel;
|
|
113
|
+
/**
|
|
114
|
+
* Defines how fusion span level is displayed.
|
|
115
|
+
* This property may change dynamically after displayMode property is changed. Emulated cameras are NOT affected.
|
|
116
|
+
* Writing this value should be done with caution, because in order to camera physically change the mode it is also required to apply proper values to displayMode and activeChannel.
|
|
117
|
+
* This is highly recommended to use displayMode only, which automatically makes sure both activeChannel and this property are set accordingly.
|
|
118
|
+
*/
|
|
119
|
+
- (BOOL)setFusionSpanLevel: (FLIRFusionSpanLevel)fusionSpanLevel error: (out NSError * _Nullable *_Nullable)error;
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Set the fusion distance in meters.
|
|
123
|
+
* This is only to be used to modify the fusion distance on a live stream.
|
|
124
|
+
* @param distance distance to the object in meters. Range 0.1 to 10.0
|
|
125
|
+
* @param error reason for error
|
|
126
|
+
*/
|
|
127
|
+
-(BOOL) setFusionDistance:(double) distance error:(out NSError * _Nullable * _Nullable)error;
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Gets the fusion distance in meters.
|
|
131
|
+
*/
|
|
132
|
+
-(double) getFusionDistance;
|
|
133
|
+
|
|
134
|
+
@end
|
|
135
|
+
|
|
136
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
//
|
|
2
|
+
// FLIRFusionTransformation.h
|
|
3
|
+
// ThermalSDK
|
|
4
|
+
//
|
|
5
|
+
// Created by FLIR on 2021-03-16.
|
|
6
|
+
// Copyright © 2021 Teledyne FLIR. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#pragma once
|
|
10
|
+
|
|
11
|
+
#import <Foundation/Foundation.h>
|
|
12
|
+
|
|
13
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Fusion transformation settings.
|
|
17
|
+
*
|
|
18
|
+
* @note setTransformation should be called after changing the fields below
|
|
19
|
+
*/
|
|
20
|
+
@interface FLIRFusionTransformation : NSObject
|
|
21
|
+
|
|
22
|
+
- (instancetype)initWithPanX:(int)panX panY:(int)panY scale:(float)scale rotation:(float)rotation;
|
|
23
|
+
|
|
24
|
+
/** Fusion horizontal panning. */
|
|
25
|
+
@property (nonatomic, assign) int panX;
|
|
26
|
+
/** Fusion vertical panning. */
|
|
27
|
+
@property (nonatomic, assign) int panY;
|
|
28
|
+
/** Fusion zoom factor. */
|
|
29
|
+
@property (nonatomic, assign) float scale;
|
|
30
|
+
/** Fusion rotation factor clockwise in degrees. */
|
|
31
|
+
@property (nonatomic, assign) float rotation;
|
|
32
|
+
|
|
33
|
+
@end
|
|
34
|
+
|
|
35
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
//
|
|
2
|
+
// FLIRIdentity.h
|
|
3
|
+
//
|
|
4
|
+
// Copyright © 2019 Teledyne FLIR. All rights reserved.
|
|
5
|
+
//
|
|
6
|
+
|
|
7
|
+
#pragma once
|
|
8
|
+
|
|
9
|
+
#import <ExternalAccessory/ExternalAccessory.h>
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* These enums represents the possible camera interfaces.
|
|
13
|
+
*
|
|
14
|
+
* In this release only the *network*, *emulator*, and *lightning* enums are implemented in FLIR Thermal SDK for iOS.
|
|
15
|
+
*/
|
|
16
|
+
typedef NS_OPTIONS(NSUInteger, FLIRCommunicationInterface) {
|
|
17
|
+
/// no interface.
|
|
18
|
+
FLIRCommunicationInterfaceNone = 0x00,
|
|
19
|
+
|
|
20
|
+
/// USB interface. *Note! Not implemented for iOS*
|
|
21
|
+
FLIRCommunicationInterfaceUSB = 0x01,
|
|
22
|
+
|
|
23
|
+
/// Network interface (wired or wireless).
|
|
24
|
+
FLIRCommunicationInterfaceNetwork = 0x02,
|
|
25
|
+
|
|
26
|
+
/// FireWire interface. *Note! Not implemented for iOS*
|
|
27
|
+
FLIRCommunicationInterfaceFirewire = 0x04,
|
|
28
|
+
|
|
29
|
+
/// Camera emulator interface.
|
|
30
|
+
FLIRCommunicationInterfaceEmulator = 0x08,
|
|
31
|
+
|
|
32
|
+
/// Bluetooth wireless interface. *Note! Not (yet) implemented for iOS*
|
|
33
|
+
FLIRCommunicationInterfaceBluetooth = 0x10,
|
|
34
|
+
|
|
35
|
+
/// Ebus interface. *Note! Not implemented for iOS*
|
|
36
|
+
FLIRCommunicationInterfaceEbus = 0x20,
|
|
37
|
+
|
|
38
|
+
/// USB HSI interface. *Note! Not implemented for iOS*
|
|
39
|
+
FLIRCommunicationInterfaceUsbHsi = 0x40,
|
|
40
|
+
|
|
41
|
+
/// iOS lightning interface.
|
|
42
|
+
FLIRCommunicationInterfaceLightning = 0x80,
|
|
43
|
+
|
|
44
|
+
/// Built-in IR camera. *Note! Not implemented for iOS*
|
|
45
|
+
FLIRCommunicationInterfaceIntegrated = 0x100,
|
|
46
|
+
|
|
47
|
+
/// FLIR ONE Wireless camera (using BLE and local WiFi).
|
|
48
|
+
FLIRCommunicationInterfaceFlirOneWireless = 0x200,
|
|
49
|
+
|
|
50
|
+
/// Custom interface. *Note! Not implemented for iOS*
|
|
51
|
+
FLIRCommunicationInterfaceCustom = 1u << 31,
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Types of FLIR cameras.
|
|
56
|
+
*/
|
|
57
|
+
typedef NS_ENUM(NSInteger, FLIRCameraType) {
|
|
58
|
+
/// Any generic FLIR camera.
|
|
59
|
+
FLIRCameraType_generic = 0x01,
|
|
60
|
+
/// FLIR ONE pluggable camera.
|
|
61
|
+
FLIRCameraType_flirOne = 0x02,
|
|
62
|
+
/// FLIR ONE Edge wireless camera.
|
|
63
|
+
FLIRCameraType_flirOneEdge = 0x04,
|
|
64
|
+
/// FLIR ONE Edge Pro wireless camera.
|
|
65
|
+
FLIRCameraType_flirOneEdgePro = 0x08,
|
|
66
|
+
/// FLIR ONE Edge wireless camera.
|
|
67
|
+
FLIRCameraType_unknown1 = 0x10,
|
|
68
|
+
/// FLIR ONE Edge Pro wireless camera.
|
|
69
|
+
FLIRCameraType_unknown2 = 0x20,
|
|
70
|
+
/// FLIR Leia / Scout pro camera
|
|
71
|
+
FLIRCameraType_leia = 0x80,
|
|
72
|
+
/// FLIR luke camera
|
|
73
|
+
FLIRCameraType_luke = 0x100,
|
|
74
|
+
/// Unknown type of camera.
|
|
75
|
+
FLIRCameraType_unknown = 0x200
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
/// Flir one model
|
|
79
|
+
typedef NS_ENUM(NSUInteger, FLIROneType)
|
|
80
|
+
{
|
|
81
|
+
F1_gen3Pro,
|
|
82
|
+
F1_gen3ProLt,
|
|
83
|
+
F1_gen3Consumer,
|
|
84
|
+
F1_gen2,
|
|
85
|
+
F1_unknown,
|
|
86
|
+
F1_edge,
|
|
87
|
+
F1_edgePro
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
@class FLIRIdentity;
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Adapter information.
|
|
94
|
+
*
|
|
95
|
+
* Describes the network interface card that discovered a camera.
|
|
96
|
+
*/
|
|
97
|
+
@interface FLIRAdapterInfo : NSObject
|
|
98
|
+
|
|
99
|
+
/// The name of the adapter.
|
|
100
|
+
/// @return A string with the adapter name.
|
|
101
|
+
- (nonnull NSString *) name;
|
|
102
|
+
|
|
103
|
+
/// Flag telling if adapter is WiFi.
|
|
104
|
+
/// @return TRUE if adapter is a WiFi adapter.
|
|
105
|
+
- (BOOL) isWireless;
|
|
106
|
+
|
|
107
|
+
/// The adapter MAC address.
|
|
108
|
+
/// @return The MAC address of the adapter.
|
|
109
|
+
- (nonnull NSString *) macAddress;
|
|
110
|
+
|
|
111
|
+
/// The adapter IP address.
|
|
112
|
+
/// @return The IP address of the adapter.
|
|
113
|
+
- (nonnull NSString *) ipAddress;
|
|
114
|
+
|
|
115
|
+
/// The adapter subnet mask address.
|
|
116
|
+
/// @return The subnet mask of the adapter.
|
|
117
|
+
- (nonnull NSString *) mask;
|
|
118
|
+
|
|
119
|
+
@end
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Stores the IP settings of a discovered network camera.
|
|
124
|
+
*/
|
|
125
|
+
@interface FLIRIpSettings : NSObject
|
|
126
|
+
|
|
127
|
+
/// Tthe host (camera) name
|
|
128
|
+
- (nullable NSString *) hosttarget;
|
|
129
|
+
|
|
130
|
+
/// The IP address of the camera.
|
|
131
|
+
- (nonnull NSString *) ipAddress;
|
|
132
|
+
|
|
133
|
+
/// The MAC address of the camera.
|
|
134
|
+
- (nonnull NSString *) macAddress;
|
|
135
|
+
|
|
136
|
+
/// The default gateway for the camera.
|
|
137
|
+
- (nonnull NSString *) defaultGateway;
|
|
138
|
+
|
|
139
|
+
/// The subnet mask for the camera.
|
|
140
|
+
- (nonnull NSString *) subnetMask;
|
|
141
|
+
|
|
142
|
+
/// The camera DHCP setting.
|
|
143
|
+
/// - returns: TRUE if DHCP is enabled.
|
|
144
|
+
- (BOOL) isDhcpEnabled;
|
|
145
|
+
|
|
146
|
+
/// Validity of the IP settings.
|
|
147
|
+
/// - returns: TRUE if ok.
|
|
148
|
+
- (BOOL) isValid;
|
|
149
|
+
|
|
150
|
+
/// Interface information about the IF that found the camera.
|
|
151
|
+
- (nonnull FLIRAdapterInfo *) adapterInfo;
|
|
152
|
+
|
|
153
|
+
@end
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Represents camera device information.
|
|
157
|
+
*
|
|
158
|
+
* A FLIRCameraInformation object can be obtained from the FLIRRemoteControl object after a connection to a camera has been made.
|
|
159
|
+
*/
|
|
160
|
+
@interface FLIRCameraInformation : NSObject
|
|
161
|
+
|
|
162
|
+
/// The camera name, can be null.
|
|
163
|
+
- (nonnull NSString *) modelName;
|
|
164
|
+
|
|
165
|
+
/// The camera model name.
|
|
166
|
+
- (nonnull NSString *) name;
|
|
167
|
+
|
|
168
|
+
/// The camera display name.
|
|
169
|
+
- (nonnull NSString *) displayName;
|
|
170
|
+
|
|
171
|
+
/// The camera description.
|
|
172
|
+
- (nonnull NSString *) cameraDescription;
|
|
173
|
+
|
|
174
|
+
/// The camera serial number.
|
|
175
|
+
- (nonnull NSString *) serialNumber;
|
|
176
|
+
|
|
177
|
+
/// The camera osImageKitName. Same as osImageKitName.
|
|
178
|
+
- (nonnull NSString *) osImagekitName __attribute__((deprecated("Use osImageKitName instead.")));
|
|
179
|
+
|
|
180
|
+
/// The camera osImagekitName.
|
|
181
|
+
- (nonnull NSString *) osImageKitName;
|
|
182
|
+
|
|
183
|
+
/// The camera swCombinationVersion.
|
|
184
|
+
- (nonnull NSString *) swCombinationVersion;
|
|
185
|
+
|
|
186
|
+
/// The camera confKitName.
|
|
187
|
+
- (nonnull NSString *) confKitName;
|
|
188
|
+
|
|
189
|
+
/// The camera article.
|
|
190
|
+
- (nonnull NSString *) article;
|
|
191
|
+
|
|
192
|
+
/// The camera date
|
|
193
|
+
- (nullable NSString *) date;
|
|
194
|
+
|
|
195
|
+
/// Camera sensor width in pixels.
|
|
196
|
+
- (NSInteger) width;
|
|
197
|
+
|
|
198
|
+
/// Camera height in pixels.
|
|
199
|
+
- (NSInteger) height;
|
|
200
|
+
|
|
201
|
+
/// Camera firmware revision, could be e.g. a commit hash or version number
|
|
202
|
+
- (nonnull NSString *) firmwareRevision;
|
|
203
|
+
|
|
204
|
+
/// get flironetype (only valid for flir one cameras)
|
|
205
|
+
- (FLIROneType)getFlirOneType;
|
|
206
|
+
|
|
207
|
+
@end
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Represents a Camera identity.
|
|
211
|
+
*
|
|
212
|
+
* Used when discovering and connecting to cameras.
|
|
213
|
+
*/
|
|
214
|
+
@interface FLIRIdentity : NSObject
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* The communication interface through which the camera will be accessed.
|
|
218
|
+
*/
|
|
219
|
+
- (FLIRCommunicationInterface) communicationInterface;
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* Type of the camera
|
|
223
|
+
*/
|
|
224
|
+
- (FLIRCameraType) cameraType;
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* A per session unique Id for the camera
|
|
228
|
+
*
|
|
229
|
+
* This is ONLY unique per session, starting a new scan might make a new Id for the same camera.
|
|
230
|
+
*
|
|
231
|
+
* This may or may not be human-readable. It's recommended to connect to the Camera and query
|
|
232
|
+
* for CameraInformation to get a descriptive camera name. See `FLIRCameraInformation`
|
|
233
|
+
*/
|
|
234
|
+
- (nonnull NSString *) deviceId;
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* IP settings for a network camera.
|
|
238
|
+
*
|
|
239
|
+
* This field contains value if communicationInterface is CommunicationInterface::network,
|
|
240
|
+
* otherwise it will be empty.
|
|
241
|
+
*/
|
|
242
|
+
- (nullable FLIRIpSettings *)ipSettings;
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* Initializes FLIRIdentity object as a network camera identity.
|
|
246
|
+
*
|
|
247
|
+
* @param ipAddr the IP address of this identity.
|
|
248
|
+
*/
|
|
249
|
+
-(instancetype _Nullable)initWithIpAddr:(nullable NSString *)ipAddr;
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* Initializes FLIRIdentity object as a FLIR One camera identity.
|
|
253
|
+
*
|
|
254
|
+
* @param serial the serial number to be copied into 'deviceId'.
|
|
255
|
+
*/
|
|
256
|
+
- (instancetype _Nullable)initWithFlirOneSerialNo:(nullable NSString *)serial;
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* Create emulator identity
|
|
260
|
+
*/
|
|
261
|
+
- (instancetype _Nullable)initWithEmulatorType:(FLIRCameraType)type;
|
|
262
|
+
|
|
263
|
+
@end
|
|
264
|
+
|