ilabs-flir 1.0.2 → 1.0.3
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 -31
- package/README.md +1271 -1271
- package/android/Flir/build.gradle.kts +85 -80
- package/android/Flir/src/main/AndroidManifest.xml +31 -31
- package/android/Flir/src/main/java/com/flir/thermalsdk/ErrorCodeException.java +14 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/image/ImageBuffer.java +11 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/image/JavaImageBuffer.java +35 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/image/Palette.java +15 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/image/PaletteManager.java +16 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/image/Point.java +11 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/image/ThermalImage.java +23 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/image/ThermalValue.java +9 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/live/CameraType.java +8 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/live/CommunicationInterface.java +16 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/live/Identity.java +23 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/live/IpSettings.java +9 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/live/connectivity/ConnectionStatusListener.java +7 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/live/remote/OnReceived.java +5 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/live/remote/OnRemoteError.java +7 -0
- package/android/Flir/src/main/java/flir/android/CameraHandler.java +224 -194
- package/android/Flir/src/main/java/flir/android/FlirCommands.java +111 -0
- package/android/Flir/src/main/java/flir/android/FlirConnectionManager.java +354 -0
- package/android/Flir/src/main/java/flir/android/FlirController.kt +11 -11
- package/android/Flir/src/main/java/flir/android/FlirDiscoveryManager.java +236 -0
- package/android/Flir/src/main/java/flir/android/FlirDownloadManager.kt +75 -75
- package/android/Flir/src/main/java/flir/android/FlirDownloadPackage.kt +16 -16
- package/android/Flir/src/main/java/flir/android/FlirFrameCache.kt +6 -6
- package/android/Flir/src/main/java/flir/android/FlirManager.kt +254 -248
- package/android/Flir/src/main/java/flir/android/FlirModule.kt +74 -74
- package/android/Flir/src/main/java/flir/android/FlirPackage.kt +19 -19
- package/android/Flir/src/main/java/flir/android/FlirSDKLoader.kt +195 -195
- package/android/Flir/src/main/java/flir/android/FlirSdkManager.java +890 -0
- package/android/Flir/src/main/java/flir/android/FlirStatus.kt +12 -12
- package/android/Flir/src/main/java/flir/android/FlirView.kt +48 -48
- package/android/Flir/src/main/java/flir/android/FlirViewManager.kt +13 -13
- package/android/Flir/src/main/java/flir/android/FrameDataHolder.java +14 -14
- package/app.plugin.js +264 -264
- package/expo-module.config.json +5 -5
- package/ios/Flir/Framework/ThermalSDK/FLIRBattery.h +76 -76
- package/ios/Flir/Framework/ThermalSDK/FLIRCalibration.h +108 -108
- package/ios/Flir/Framework/ThermalSDK/FLIRCamera.h +156 -156
- package/ios/Flir/Framework/ThermalSDK/FLIRCameraDeviceInfo.h +53 -53
- package/ios/Flir/Framework/ThermalSDK/FLIRCameraEvent.h +132 -132
- package/ios/Flir/Framework/ThermalSDK/FLIRCameraImport.h +204 -204
- package/ios/Flir/Framework/ThermalSDK/FLIRColorDistributionSettings.h +204 -204
- package/ios/Flir/Framework/ThermalSDK/FLIRColorizer.h +82 -82
- package/ios/Flir/Framework/ThermalSDK/FLIRDiscoveredCamera.h +44 -44
- package/ios/Flir/Framework/ThermalSDK/FLIRDiscovery.h +132 -132
- package/ios/Flir/Framework/ThermalSDK/FLIRDisplaySettings.h +29 -29
- package/ios/Flir/Framework/ThermalSDK/FLIRFocus.h +70 -70
- package/ios/Flir/Framework/ThermalSDK/FLIRFusion.h +192 -192
- package/ios/Flir/Framework/ThermalSDK/FLIRFusionController.h +136 -136
- package/ios/Flir/Framework/ThermalSDK/FLIRFusionTransformation.h +35 -35
- package/ios/Flir/Framework/ThermalSDK/FLIRIdentity.h +264 -264
- package/ios/Flir/Framework/ThermalSDK/FLIRImageBase.h +196 -196
- package/ios/Flir/Framework/ThermalSDK/FLIRImageColorizer.h +26 -26
- package/ios/Flir/Framework/ThermalSDK/FLIRImageStatistics.h +61 -61
- package/ios/Flir/Framework/ThermalSDK/FLIRIsotherms.h +208 -208
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementArea.h +38 -38
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementCollection.h +147 -147
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementDelta.h +62 -62
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementDimensions.h +33 -33
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementEllipse.h +49 -49
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementLine.h +66 -66
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementMarker.h +69 -69
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementParameters.h +41 -41
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementRectangle.h +36 -36
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementReference.h +27 -27
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementShape.h +46 -46
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementSpot.h +33 -33
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementsController.h +160 -160
- package/ios/Flir/Framework/ThermalSDK/FLIRMeterLinkSensorPoll.h +247 -247
- package/ios/Flir/Framework/ThermalSDK/FLIROverlayController.h +27 -27
- package/ios/Flir/Framework/ThermalSDK/FLIRPalette.h +60 -60
- package/ios/Flir/Framework/ThermalSDK/FLIRPaletteController.h +36 -36
- package/ios/Flir/Framework/ThermalSDK/FLIRPaletteManager.h +97 -97
- package/ios/Flir/Framework/ThermalSDK/FLIRQuantification.h +55 -55
- package/ios/Flir/Framework/ThermalSDK/FLIRRemoteControl.h +393 -393
- package/ios/Flir/Framework/ThermalSDK/FLIRRenderer.h +35 -35
- package/ios/Flir/Framework/ThermalSDK/FLIRRendererImpl.h +17 -17
- package/ios/Flir/Framework/ThermalSDK/FLIRScale.h +99 -99
- package/ios/Flir/Framework/ThermalSDK/FLIRScaleController.h +44 -44
- package/ios/Flir/Framework/ThermalSDK/FLIRStream.h +109 -109
- package/ios/Flir/Framework/ThermalSDK/FLIRStreamer.h +124 -124
- package/ios/Flir/Framework/ThermalSDK/FLIRSystem.h +40 -40
- package/ios/Flir/Framework/ThermalSDK/FLIRTemperatureRange.h +43 -43
- package/ios/Flir/Framework/ThermalSDK/FLIRThermalDelta.h +77 -77
- package/ios/Flir/Framework/ThermalSDK/FLIRThermalImage.h +331 -331
- package/ios/Flir/Framework/ThermalSDK/FLIRThermalImageFile.h +56 -56
- package/ios/Flir/Framework/ThermalSDK/FLIRThermalParameters.h +31 -31
- package/ios/Flir/Framework/ThermalSDK/FLIRThermalValue.h +92 -92
- package/ios/Flir/Framework/ThermalSDK/FLIRWirelessCameraDetails.h +88 -88
- package/ios/Flir/Framework/ThermalSDK/ThermalSDK.h +73 -73
- package/ios/Flir/SDKLoader/FlirSDKLoader.m +13 -13
- package/ios/Flir/SDKLoader/FlirSDKLoader.swift +175 -175
- package/ios/Flir/src/FlirEventEmitter.h +12 -12
- package/ios/Flir/src/FlirEventEmitter.m +33 -33
- package/ios/Flir/src/FlirModule.h +10 -10
- package/ios/Flir/src/FlirModule.m +381 -381
- package/ios/Flir/src/FlirPreviewView.h +13 -13
- package/ios/Flir/src/FlirPreviewView.m +24 -24
- package/ios/Flir/src/FlirState.h +20 -20
- package/ios/Flir/src/FlirState.m +79 -79
- package/ios/Flir/src/FlirViewManager.h +9 -9
- package/ios/Flir/src/FlirViewManager.m +16 -16
- package/package.json +60 -60
- package/react-native.config.js +14 -14
- package/scripts/copy_ios_libs.sh +32 -32
- package/scripts/create_stubs.py +174 -174
- package/scripts/download-sdk.js +62 -62
- package/scripts/prepare-binaries.sh +171 -171
- package/sdk-manifest.json +30 -30
- package/src/FlirDownload.ts +78 -78
- package/src/index.d.ts +17 -17
- package/src/index.js +7 -7
- package/src/index.ts +7 -7
|
@@ -1,204 +1,204 @@
|
|
|
1
|
-
//
|
|
2
|
-
// FLIRColorDistributionSettings.h
|
|
3
|
-
// ThermalSDK
|
|
4
|
-
//
|
|
5
|
-
// Created by FLIR on 2021-09-03.
|
|
6
|
-
// Copyright © 2022 Teledyne FLIR. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import <Foundation/Foundation.h>
|
|
10
|
-
|
|
11
|
-
NS_ASSUME_NONNULL_BEGIN
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* These methods transform each slot histogram bin x into the weight y.
|
|
15
|
-
*/
|
|
16
|
-
typedef NS_ENUM(NSUInteger, FLIRHistogramModifier) {
|
|
17
|
-
/** y = x^(1/2).
|
|
18
|
-
* If all pixels in a slot were collected within a circle,
|
|
19
|
-
* the radius of this circle is proportional to the slot weight.
|
|
20
|
-
*/
|
|
21
|
-
FLIRSquareRoot,
|
|
22
|
-
|
|
23
|
-
/** y = x^(1/3) */
|
|
24
|
-
FLIRCubicRoot,
|
|
25
|
-
|
|
26
|
-
/** ln(x) if x >= 2 else 0. Every doubling of a slot's pixel count
|
|
27
|
-
* will increase the slot weight by a fixed amount.
|
|
28
|
-
*/
|
|
29
|
-
FLIRLn,
|
|
30
|
-
|
|
31
|
-
/** Scaled LN (y = y_LN / 2.3), which has no effect on the normalized weights. */
|
|
32
|
-
FLIRLog10,
|
|
33
|
-
|
|
34
|
-
/** y = min(x, plateauCount)
|
|
35
|
-
* Put the cap @p ulPlateauCount on each of this histogram's bins.
|
|
36
|
-
*/
|
|
37
|
-
FLIRPlateau,
|
|
38
|
-
|
|
39
|
-
/** y = x */
|
|
40
|
-
FLIRNone
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Specifies the color distributions used when running the colorizer on an image.
|
|
45
|
-
*/
|
|
46
|
-
@interface FLIRColorDistributionSettings : NSObject
|
|
47
|
-
|
|
48
|
-
@end
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* The color information in the image is distributed linear to the temperature values of the image.
|
|
52
|
-
*
|
|
53
|
-
* @note The palette colors used for each pixel is mapped in a linear fashion between the min and max temperatures of the image.
|
|
54
|
-
* Pixels above and below min and max will contain a color defined in the @ref atlas::image::Palette.
|
|
55
|
-
*/
|
|
56
|
-
@interface FLIRTemperatureLinearSettings : FLIRColorDistributionSettings
|
|
57
|
-
|
|
58
|
-
@end
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* The colors are evenly distributed over the existing temperatures of the image and enhance the contrast.
|
|
62
|
-
*
|
|
63
|
-
* This color distribution can be particularly successful when the image contains few peaks of very low or
|
|
64
|
-
* high temperature's values.
|
|
65
|
-
*/
|
|
66
|
-
@interface FLIRHistogramEqualizationSettings : FLIRColorDistributionSettings
|
|
67
|
-
|
|
68
|
-
/** Minimum heq slope limit. */
|
|
69
|
-
@property (nonatomic, assign) float linearPercent;
|
|
70
|
-
/** Maximum heq slope limit. */
|
|
71
|
-
@property (nonatomic, assign) int plateauTruncation;
|
|
72
|
-
/** How many pixels to ignore. */
|
|
73
|
-
@property (nonatomic, assign) float tailPercent;
|
|
74
|
-
/** Decrease to make the histogram more responsive to new scene content. */
|
|
75
|
-
@property (nonatomic, assign) float histogramDf;
|
|
76
|
-
/** Temporal filtering of span limits. */
|
|
77
|
-
@property (nonatomic, assign) float scaleDf;
|
|
78
|
-
/** Mode to transform each slot histogram bin x into the weight y. */
|
|
79
|
-
@property (nonatomic, assign) FLIRHistogramModifier modifierMode;
|
|
80
|
-
|
|
81
|
-
@end
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* The color information in the image is distributed linear to the signal values of the image.
|
|
85
|
-
*
|
|
86
|
-
* @note The palette colors used for each pixel is mapped in a linear fashion between the min and max signal values of the image. Pixels above and below min and max will contain a color defined in the @ref atlas::image::Palette.
|
|
87
|
-
*/
|
|
88
|
-
@interface FLIRSignalLinearSettings : FLIRColorDistributionSettings
|
|
89
|
-
|
|
90
|
-
@end
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* Specifies parameters for the plateau histogram equalization mode.
|
|
94
|
-
*
|
|
95
|
-
* The colors are evenly distributed over the existing temperatures of the image and enhance the contrast.
|
|
96
|
-
* @note This color distribution can be particularly successful when the image contains few peaks
|
|
97
|
-
* of very low or high temperature's values.
|
|
98
|
-
*/
|
|
99
|
-
@interface FLIRPlateauHistogramEqSettings : FLIRColorDistributionSettings
|
|
100
|
-
|
|
101
|
-
/** Limits the maximum slope of the mapping function. */
|
|
102
|
-
@property (nonatomic, assign) float maxGain;
|
|
103
|
-
/** Limits the population of any single histogram bin. */
|
|
104
|
-
@property (nonatomic, assign) float percentPerBin;
|
|
105
|
-
/** Increasing values of Linear Percent more accurately preserves the visual representation of an object */
|
|
106
|
-
@property (nonatomic, assign) float linearPercent;
|
|
107
|
-
/** Determines the percentage of the histogram tails which are not ignored when generating the mapping function.*/
|
|
108
|
-
@property (nonatomic, assign) float outlierPercent;
|
|
109
|
-
/** Used to adjust the perceived brightness of the image. */
|
|
110
|
-
@property (nonatomic, assign) float gamma;
|
|
111
|
-
|
|
112
|
-
@end
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Specifies parameters for the Digital Detail Enhancement (DDE) and Entropy modes.
|
|
116
|
-
* Entropy modes reserve more shades of gray/colors for areas with more entropy by assigning areas with lower entropy lesser gray shades.
|
|
117
|
-
*
|
|
118
|
-
* @note In this mode one color might not map to a specific temperature. Which means that the output
|
|
119
|
-
* scale is not radiometric accurate.
|
|
120
|
-
*/
|
|
121
|
-
@interface FLIRDDESettings : FLIRPlateauHistogramEqSettings
|
|
122
|
-
|
|
123
|
-
/** Detail to background ratio. */
|
|
124
|
-
@property (nonatomic, assign) float detailToBackground;
|
|
125
|
-
/** DDE smoothing factor */
|
|
126
|
-
@property (nonatomic, assign) float smoothingFactor;
|
|
127
|
-
/** Headroom for detail at dynamic range extremes */
|
|
128
|
-
@property (nonatomic, assign) float detailHeadroom;
|
|
129
|
-
|
|
130
|
-
@end
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* Specifies parameters for Entropy modes.
|
|
135
|
-
* Entropy modes reserve more shades of gray/colors for areas with more entropy by assigning areas
|
|
136
|
-
* with lower entropy lesser gray shades.
|
|
137
|
-
*
|
|
138
|
-
* @note In this mode one color might not map to a specific temperature. Which means that the output
|
|
139
|
-
* scale is not radiometric accurate.
|
|
140
|
-
*/
|
|
141
|
-
@interface FLIREntropySettings : FLIRDDESettings
|
|
142
|
-
|
|
143
|
-
@end
|
|
144
|
-
|
|
145
|
-
/**
|
|
146
|
-
* Specifies parameters for the Adaptive Detail Enhancement (ADE) mode.
|
|
147
|
-
* Adaptive detail enhancement which is using a edge-preserving and noise-reducing smoothing filter
|
|
148
|
-
* to enhance the contrast in the image.
|
|
149
|
-
*
|
|
150
|
-
* @note In this mode one color might not map to a specific temperature. Which means that the
|
|
151
|
-
* output scale is not radiometric accurate.
|
|
152
|
-
*/
|
|
153
|
-
@interface FLIRADESettings : FLIRColorDistributionSettings
|
|
154
|
-
|
|
155
|
-
/** Noise amplification limit (LF) (Low value=Disable this feature) */
|
|
156
|
-
@property (nonatomic, assign) float alphaNoise;
|
|
157
|
-
/** Edge preserving limit (LF); Too avoid halos around sharp edges (High value=Disable this feature). */
|
|
158
|
-
@property (nonatomic, assign) float betaLf;
|
|
159
|
-
/** Edge preserving limit (HF); Too avoid halos around sharp edges (High value=Disable this feature). */
|
|
160
|
-
@property (nonatomic, assign) float betaHf;
|
|
161
|
-
/** LF/HF crossover level; Low value=Only HF enhancement;High value=Only LF enhancement. */
|
|
162
|
-
@property (nonatomic, assign) float betaMix;
|
|
163
|
-
/** Amount of the high pass filter that should be used. */
|
|
164
|
-
@property (nonatomic, assign) float hpBlendingAmount;
|
|
165
|
-
/** Low part of the histogram that is discarded. */
|
|
166
|
-
@property (nonatomic, assign) float lowLimit;
|
|
167
|
-
/** High part of the histogram that is discarded. */
|
|
168
|
-
@property (nonatomic, assign) float highLimit;
|
|
169
|
-
/** Headroom for details at dynamic range extremes. */
|
|
170
|
-
@property (nonatomic, assign) float headRoom;
|
|
171
|
-
/** Footroom for details at dynamic range extremes. */
|
|
172
|
-
@property (nonatomic, assign) float footRoom;
|
|
173
|
-
/** Limits the maximum slope of the mapping function. */
|
|
174
|
-
@property (nonatomic, assign) float gain;
|
|
175
|
-
/** Linear portion used for mapping the colors. */
|
|
176
|
-
@property (nonatomic, assign) float linearMix;
|
|
177
|
-
|
|
178
|
-
@end
|
|
179
|
-
|
|
180
|
-
/**
|
|
181
|
-
* Specifies parameters for the FSX mode.
|
|
182
|
-
* FSX is using a edge-preserving and noise-reducing smoothing filter
|
|
183
|
-
* to enhance the contrast in the image.
|
|
184
|
-
*/
|
|
185
|
-
@interface FLIRFSXSettings : FLIRColorDistributionSettings
|
|
186
|
-
|
|
187
|
-
/** Maximum allowed difference in the bilateral filtering. */
|
|
188
|
-
@property (nonatomic, assign) float sigmaR;
|
|
189
|
-
/** The weight factor applied to image details. */
|
|
190
|
-
@property (nonatomic, assign) unsigned short alpha;
|
|
191
|
-
|
|
192
|
-
@end
|
|
193
|
-
|
|
194
|
-
/**
|
|
195
|
-
* Specifies parameters for the local contrast enhancement (LCE) mode.
|
|
196
|
-
*/
|
|
197
|
-
@interface FLIRLCESettings : FLIRDDESettings
|
|
198
|
-
|
|
199
|
-
/** Can be used to enhance the contrast. */
|
|
200
|
-
@property (nonatomic, assign) int contrast;
|
|
201
|
-
|
|
202
|
-
@end
|
|
203
|
-
|
|
204
|
-
NS_ASSUME_NONNULL_END
|
|
1
|
+
//
|
|
2
|
+
// FLIRColorDistributionSettings.h
|
|
3
|
+
// ThermalSDK
|
|
4
|
+
//
|
|
5
|
+
// Created by FLIR on 2021-09-03.
|
|
6
|
+
// Copyright © 2022 Teledyne FLIR. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <Foundation/Foundation.h>
|
|
10
|
+
|
|
11
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* These methods transform each slot histogram bin x into the weight y.
|
|
15
|
+
*/
|
|
16
|
+
typedef NS_ENUM(NSUInteger, FLIRHistogramModifier) {
|
|
17
|
+
/** y = x^(1/2).
|
|
18
|
+
* If all pixels in a slot were collected within a circle,
|
|
19
|
+
* the radius of this circle is proportional to the slot weight.
|
|
20
|
+
*/
|
|
21
|
+
FLIRSquareRoot,
|
|
22
|
+
|
|
23
|
+
/** y = x^(1/3) */
|
|
24
|
+
FLIRCubicRoot,
|
|
25
|
+
|
|
26
|
+
/** ln(x) if x >= 2 else 0. Every doubling of a slot's pixel count
|
|
27
|
+
* will increase the slot weight by a fixed amount.
|
|
28
|
+
*/
|
|
29
|
+
FLIRLn,
|
|
30
|
+
|
|
31
|
+
/** Scaled LN (y = y_LN / 2.3), which has no effect on the normalized weights. */
|
|
32
|
+
FLIRLog10,
|
|
33
|
+
|
|
34
|
+
/** y = min(x, plateauCount)
|
|
35
|
+
* Put the cap @p ulPlateauCount on each of this histogram's bins.
|
|
36
|
+
*/
|
|
37
|
+
FLIRPlateau,
|
|
38
|
+
|
|
39
|
+
/** y = x */
|
|
40
|
+
FLIRNone
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Specifies the color distributions used when running the colorizer on an image.
|
|
45
|
+
*/
|
|
46
|
+
@interface FLIRColorDistributionSettings : NSObject
|
|
47
|
+
|
|
48
|
+
@end
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* The color information in the image is distributed linear to the temperature values of the image.
|
|
52
|
+
*
|
|
53
|
+
* @note The palette colors used for each pixel is mapped in a linear fashion between the min and max temperatures of the image.
|
|
54
|
+
* Pixels above and below min and max will contain a color defined in the @ref atlas::image::Palette.
|
|
55
|
+
*/
|
|
56
|
+
@interface FLIRTemperatureLinearSettings : FLIRColorDistributionSettings
|
|
57
|
+
|
|
58
|
+
@end
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* The colors are evenly distributed over the existing temperatures of the image and enhance the contrast.
|
|
62
|
+
*
|
|
63
|
+
* This color distribution can be particularly successful when the image contains few peaks of very low or
|
|
64
|
+
* high temperature's values.
|
|
65
|
+
*/
|
|
66
|
+
@interface FLIRHistogramEqualizationSettings : FLIRColorDistributionSettings
|
|
67
|
+
|
|
68
|
+
/** Minimum heq slope limit. */
|
|
69
|
+
@property (nonatomic, assign) float linearPercent;
|
|
70
|
+
/** Maximum heq slope limit. */
|
|
71
|
+
@property (nonatomic, assign) int plateauTruncation;
|
|
72
|
+
/** How many pixels to ignore. */
|
|
73
|
+
@property (nonatomic, assign) float tailPercent;
|
|
74
|
+
/** Decrease to make the histogram more responsive to new scene content. */
|
|
75
|
+
@property (nonatomic, assign) float histogramDf;
|
|
76
|
+
/** Temporal filtering of span limits. */
|
|
77
|
+
@property (nonatomic, assign) float scaleDf;
|
|
78
|
+
/** Mode to transform each slot histogram bin x into the weight y. */
|
|
79
|
+
@property (nonatomic, assign) FLIRHistogramModifier modifierMode;
|
|
80
|
+
|
|
81
|
+
@end
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* The color information in the image is distributed linear to the signal values of the image.
|
|
85
|
+
*
|
|
86
|
+
* @note The palette colors used for each pixel is mapped in a linear fashion between the min and max signal values of the image. Pixels above and below min and max will contain a color defined in the @ref atlas::image::Palette.
|
|
87
|
+
*/
|
|
88
|
+
@interface FLIRSignalLinearSettings : FLIRColorDistributionSettings
|
|
89
|
+
|
|
90
|
+
@end
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Specifies parameters for the plateau histogram equalization mode.
|
|
94
|
+
*
|
|
95
|
+
* The colors are evenly distributed over the existing temperatures of the image and enhance the contrast.
|
|
96
|
+
* @note This color distribution can be particularly successful when the image contains few peaks
|
|
97
|
+
* of very low or high temperature's values.
|
|
98
|
+
*/
|
|
99
|
+
@interface FLIRPlateauHistogramEqSettings : FLIRColorDistributionSettings
|
|
100
|
+
|
|
101
|
+
/** Limits the maximum slope of the mapping function. */
|
|
102
|
+
@property (nonatomic, assign) float maxGain;
|
|
103
|
+
/** Limits the population of any single histogram bin. */
|
|
104
|
+
@property (nonatomic, assign) float percentPerBin;
|
|
105
|
+
/** Increasing values of Linear Percent more accurately preserves the visual representation of an object */
|
|
106
|
+
@property (nonatomic, assign) float linearPercent;
|
|
107
|
+
/** Determines the percentage of the histogram tails which are not ignored when generating the mapping function.*/
|
|
108
|
+
@property (nonatomic, assign) float outlierPercent;
|
|
109
|
+
/** Used to adjust the perceived brightness of the image. */
|
|
110
|
+
@property (nonatomic, assign) float gamma;
|
|
111
|
+
|
|
112
|
+
@end
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Specifies parameters for the Digital Detail Enhancement (DDE) and Entropy modes.
|
|
116
|
+
* Entropy modes reserve more shades of gray/colors for areas with more entropy by assigning areas with lower entropy lesser gray shades.
|
|
117
|
+
*
|
|
118
|
+
* @note In this mode one color might not map to a specific temperature. Which means that the output
|
|
119
|
+
* scale is not radiometric accurate.
|
|
120
|
+
*/
|
|
121
|
+
@interface FLIRDDESettings : FLIRPlateauHistogramEqSettings
|
|
122
|
+
|
|
123
|
+
/** Detail to background ratio. */
|
|
124
|
+
@property (nonatomic, assign) float detailToBackground;
|
|
125
|
+
/** DDE smoothing factor */
|
|
126
|
+
@property (nonatomic, assign) float smoothingFactor;
|
|
127
|
+
/** Headroom for detail at dynamic range extremes */
|
|
128
|
+
@property (nonatomic, assign) float detailHeadroom;
|
|
129
|
+
|
|
130
|
+
@end
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Specifies parameters for Entropy modes.
|
|
135
|
+
* Entropy modes reserve more shades of gray/colors for areas with more entropy by assigning areas
|
|
136
|
+
* with lower entropy lesser gray shades.
|
|
137
|
+
*
|
|
138
|
+
* @note In this mode one color might not map to a specific temperature. Which means that the output
|
|
139
|
+
* scale is not radiometric accurate.
|
|
140
|
+
*/
|
|
141
|
+
@interface FLIREntropySettings : FLIRDDESettings
|
|
142
|
+
|
|
143
|
+
@end
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Specifies parameters for the Adaptive Detail Enhancement (ADE) mode.
|
|
147
|
+
* Adaptive detail enhancement which is using a edge-preserving and noise-reducing smoothing filter
|
|
148
|
+
* to enhance the contrast in the image.
|
|
149
|
+
*
|
|
150
|
+
* @note In this mode one color might not map to a specific temperature. Which means that the
|
|
151
|
+
* output scale is not radiometric accurate.
|
|
152
|
+
*/
|
|
153
|
+
@interface FLIRADESettings : FLIRColorDistributionSettings
|
|
154
|
+
|
|
155
|
+
/** Noise amplification limit (LF) (Low value=Disable this feature) */
|
|
156
|
+
@property (nonatomic, assign) float alphaNoise;
|
|
157
|
+
/** Edge preserving limit (LF); Too avoid halos around sharp edges (High value=Disable this feature). */
|
|
158
|
+
@property (nonatomic, assign) float betaLf;
|
|
159
|
+
/** Edge preserving limit (HF); Too avoid halos around sharp edges (High value=Disable this feature). */
|
|
160
|
+
@property (nonatomic, assign) float betaHf;
|
|
161
|
+
/** LF/HF crossover level; Low value=Only HF enhancement;High value=Only LF enhancement. */
|
|
162
|
+
@property (nonatomic, assign) float betaMix;
|
|
163
|
+
/** Amount of the high pass filter that should be used. */
|
|
164
|
+
@property (nonatomic, assign) float hpBlendingAmount;
|
|
165
|
+
/** Low part of the histogram that is discarded. */
|
|
166
|
+
@property (nonatomic, assign) float lowLimit;
|
|
167
|
+
/** High part of the histogram that is discarded. */
|
|
168
|
+
@property (nonatomic, assign) float highLimit;
|
|
169
|
+
/** Headroom for details at dynamic range extremes. */
|
|
170
|
+
@property (nonatomic, assign) float headRoom;
|
|
171
|
+
/** Footroom for details at dynamic range extremes. */
|
|
172
|
+
@property (nonatomic, assign) float footRoom;
|
|
173
|
+
/** Limits the maximum slope of the mapping function. */
|
|
174
|
+
@property (nonatomic, assign) float gain;
|
|
175
|
+
/** Linear portion used for mapping the colors. */
|
|
176
|
+
@property (nonatomic, assign) float linearMix;
|
|
177
|
+
|
|
178
|
+
@end
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Specifies parameters for the FSX mode.
|
|
182
|
+
* FSX is using a edge-preserving and noise-reducing smoothing filter
|
|
183
|
+
* to enhance the contrast in the image.
|
|
184
|
+
*/
|
|
185
|
+
@interface FLIRFSXSettings : FLIRColorDistributionSettings
|
|
186
|
+
|
|
187
|
+
/** Maximum allowed difference in the bilateral filtering. */
|
|
188
|
+
@property (nonatomic, assign) float sigmaR;
|
|
189
|
+
/** The weight factor applied to image details. */
|
|
190
|
+
@property (nonatomic, assign) unsigned short alpha;
|
|
191
|
+
|
|
192
|
+
@end
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* Specifies parameters for the local contrast enhancement (LCE) mode.
|
|
196
|
+
*/
|
|
197
|
+
@interface FLIRLCESettings : FLIRDDESettings
|
|
198
|
+
|
|
199
|
+
/** Can be used to enhance the contrast. */
|
|
200
|
+
@property (nonatomic, assign) int contrast;
|
|
201
|
+
|
|
202
|
+
@end
|
|
203
|
+
|
|
204
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -1,82 +1,82 @@
|
|
|
1
|
-
//
|
|
2
|
-
// FLIRColorizer.h
|
|
3
|
-
// ThermalSDK
|
|
4
|
-
//
|
|
5
|
-
// Created by FLIR on 2021-10-27.
|
|
6
|
-
// Copyright © 2021 Teledyne FLIR. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
#pragma once
|
|
11
|
-
|
|
12
|
-
#import <UIKit/UIKit.h>
|
|
13
|
-
|
|
14
|
-
#import "FLIRRenderer.h"
|
|
15
|
-
|
|
16
|
-
@class FLIRRange;
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Protocol for classes colorizing thermal images or streams
|
|
20
|
-
*/
|
|
21
|
-
@protocol FLIRColorizer<FLIRRenderer>
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Automatic scale
|
|
25
|
-
*
|
|
26
|
-
* If true rendered images will have scale automatically set based on the min and max values in the image.
|
|
27
|
-
* @note auto-adjusted scale is disabled by default
|
|
28
|
-
*
|
|
29
|
-
* @note Calling this function does not trigger any render. Use `getImage()` if necessary to "re-render".
|
|
30
|
-
* @note it is recommended to keep the rendering setting consistent with the FLIRThermalImage information within FLIRScale.
|
|
31
|
-
* For this purpose code similar to the following could be used:
|
|
32
|
-
* // auto scale enabled
|
|
33
|
-
* let colorizer = ... // FLIRColorizer
|
|
34
|
-
* colorizer.autoScale = true
|
|
35
|
-
* // calling getImage(), among other internal work, will re-calculate scale range that we can then apply to Scale object
|
|
36
|
-
* colorizer.getImage()
|
|
37
|
-
* let scale = ... // obtain FLIRScale instance from FLIRThermalImage or in live stream from FLIRThermalStreamer.withThermalImage()
|
|
38
|
-
* // set the range calculated by the colorizer
|
|
39
|
-
* auto tempRange = colorizer.getScaleRange();
|
|
40
|
-
* scale.setRangeMin(tempRange.min);
|
|
41
|
-
* scale.setRangeMax(tempRange.max);
|
|
42
|
-
* //
|
|
43
|
-
* // auto scale disabled
|
|
44
|
-
* let colorizer = ... // FLIRColorizer
|
|
45
|
-
* colorizer.autoScale = false
|
|
46
|
-
* // first get scale
|
|
47
|
-
* let scale = ... // obtain FLIRScale instance from FLIRThermalImage or in live stream from FLIRThermalStreamer.withThermalImage()
|
|
48
|
-
* // then set manual range provided from the user
|
|
49
|
-
* scale.setRangeMin(userMinScaleValue);
|
|
50
|
-
* scale.setRangeMax(userMaxScaleValue);
|
|
51
|
-
* // finally update the colorizer so the rendered image is colorized using user-defined scale range
|
|
52
|
-
* colorizer.getImage()
|
|
53
|
-
*/
|
|
54
|
-
@property (nonatomic, assign) BOOL autoScale;
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Render scale
|
|
58
|
-
*
|
|
59
|
-
* If true the scale will be rendered when the image is rendered
|
|
60
|
-
* @note scale rendering is disabled by default
|
|
61
|
-
*/
|
|
62
|
-
@property (nonatomic, assign) BOOL renderScale;
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Get an image with the scale
|
|
66
|
-
*
|
|
67
|
-
* @note if scale rendering was disabled during last call to @ref update, the result from this function may be out of sync .
|
|
68
|
-
* @note For getting rendered image without scale, see @ref getImage
|
|
69
|
-
* @return Returns an UIImage, or nil if update hasn't been called with scale rendering enabled
|
|
70
|
-
*/
|
|
71
|
-
- (UIImage * _Nullable)getScaleImage;
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Get the range of the scale
|
|
75
|
-
*
|
|
76
|
-
* If auto scale is on, get the min and max temperature
|
|
77
|
-
* @return FLIRRange with min and max
|
|
78
|
-
*/
|
|
79
|
-
|
|
80
|
-
- (FLIRRange * _Nullable)getScaleRange;
|
|
81
|
-
|
|
82
|
-
@end
|
|
1
|
+
//
|
|
2
|
+
// FLIRColorizer.h
|
|
3
|
+
// ThermalSDK
|
|
4
|
+
//
|
|
5
|
+
// Created by FLIR on 2021-10-27.
|
|
6
|
+
// Copyright © 2021 Teledyne FLIR. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
#pragma once
|
|
11
|
+
|
|
12
|
+
#import <UIKit/UIKit.h>
|
|
13
|
+
|
|
14
|
+
#import "FLIRRenderer.h"
|
|
15
|
+
|
|
16
|
+
@class FLIRRange;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Protocol for classes colorizing thermal images or streams
|
|
20
|
+
*/
|
|
21
|
+
@protocol FLIRColorizer<FLIRRenderer>
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Automatic scale
|
|
25
|
+
*
|
|
26
|
+
* If true rendered images will have scale automatically set based on the min and max values in the image.
|
|
27
|
+
* @note auto-adjusted scale is disabled by default
|
|
28
|
+
*
|
|
29
|
+
* @note Calling this function does not trigger any render. Use `getImage()` if necessary to "re-render".
|
|
30
|
+
* @note it is recommended to keep the rendering setting consistent with the FLIRThermalImage information within FLIRScale.
|
|
31
|
+
* For this purpose code similar to the following could be used:
|
|
32
|
+
* // auto scale enabled
|
|
33
|
+
* let colorizer = ... // FLIRColorizer
|
|
34
|
+
* colorizer.autoScale = true
|
|
35
|
+
* // calling getImage(), among other internal work, will re-calculate scale range that we can then apply to Scale object
|
|
36
|
+
* colorizer.getImage()
|
|
37
|
+
* let scale = ... // obtain FLIRScale instance from FLIRThermalImage or in live stream from FLIRThermalStreamer.withThermalImage()
|
|
38
|
+
* // set the range calculated by the colorizer
|
|
39
|
+
* auto tempRange = colorizer.getScaleRange();
|
|
40
|
+
* scale.setRangeMin(tempRange.min);
|
|
41
|
+
* scale.setRangeMax(tempRange.max);
|
|
42
|
+
* //
|
|
43
|
+
* // auto scale disabled
|
|
44
|
+
* let colorizer = ... // FLIRColorizer
|
|
45
|
+
* colorizer.autoScale = false
|
|
46
|
+
* // first get scale
|
|
47
|
+
* let scale = ... // obtain FLIRScale instance from FLIRThermalImage or in live stream from FLIRThermalStreamer.withThermalImage()
|
|
48
|
+
* // then set manual range provided from the user
|
|
49
|
+
* scale.setRangeMin(userMinScaleValue);
|
|
50
|
+
* scale.setRangeMax(userMaxScaleValue);
|
|
51
|
+
* // finally update the colorizer so the rendered image is colorized using user-defined scale range
|
|
52
|
+
* colorizer.getImage()
|
|
53
|
+
*/
|
|
54
|
+
@property (nonatomic, assign) BOOL autoScale;
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Render scale
|
|
58
|
+
*
|
|
59
|
+
* If true the scale will be rendered when the image is rendered
|
|
60
|
+
* @note scale rendering is disabled by default
|
|
61
|
+
*/
|
|
62
|
+
@property (nonatomic, assign) BOOL renderScale;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Get an image with the scale
|
|
66
|
+
*
|
|
67
|
+
* @note if scale rendering was disabled during last call to @ref update, the result from this function may be out of sync .
|
|
68
|
+
* @note For getting rendered image without scale, see @ref getImage
|
|
69
|
+
* @return Returns an UIImage, or nil if update hasn't been called with scale rendering enabled
|
|
70
|
+
*/
|
|
71
|
+
- (UIImage * _Nullable)getScaleImage;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Get the range of the scale
|
|
75
|
+
*
|
|
76
|
+
* If auto scale is on, get the min and max temperature
|
|
77
|
+
* @return FLIRRange with min and max
|
|
78
|
+
*/
|
|
79
|
+
|
|
80
|
+
- (FLIRRange * _Nullable)getScaleRange;
|
|
81
|
+
|
|
82
|
+
@end
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
//
|
|
2
|
-
// FLIRDiscoveredCamera.h
|
|
3
|
-
// ThermalSDK
|
|
4
|
-
//
|
|
5
|
-
// Created by FLIR on 2022-02-03.
|
|
6
|
-
// Copyright © 2022 Teledyne FLIR. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import <Foundation/Foundation.h>
|
|
10
|
-
|
|
11
|
-
@class FLIRIdentity;
|
|
12
|
-
@class FLIRWirelessCameraDetails;
|
|
13
|
-
|
|
14
|
-
NS_ASSUME_NONNULL_BEGIN
|
|
15
|
-
|
|
16
|
-
/// Describes how connect may be called
|
|
17
|
-
typedef NS_OPTIONS(NSUInteger, FLIRConnectMethod) {
|
|
18
|
-
/// Allows normal usage of connect
|
|
19
|
-
CM_normal = 0x1,
|
|
20
|
-
/// Allows connect "connecting" over SSL
|
|
21
|
-
CM_secure = 0x2,
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
/// Plain information of discovered camera, including connection settings.
|
|
25
|
-
@interface FLIRDiscoveredCamera : NSObject
|
|
26
|
-
|
|
27
|
-
/// The Identity to use when connecting to a camera
|
|
28
|
-
@property (nonatomic, nonnull, readonly, strong) FLIRIdentity *identity;
|
|
29
|
-
|
|
30
|
-
/// Human readable name of the camera
|
|
31
|
-
@property (nonatomic, nonnull, readonly) NSString *displayName;
|
|
32
|
-
|
|
33
|
-
/// Describes how connect may be called
|
|
34
|
-
@property (nonatomic, readonly) FLIRConnectMethod supportedConnectMethods;
|
|
35
|
-
|
|
36
|
-
/// Additional custom data received during discovery
|
|
37
|
-
@property (nonatomic, nonnull, readonly) NSDictionary<NSString *, NSString *> *records;
|
|
38
|
-
|
|
39
|
-
/// Optional wireless details for F1 wireless
|
|
40
|
-
@property (nonatomic, nullable, readonly, strong) FLIRWirelessCameraDetails* wirelessCameraDetails;
|
|
41
|
-
|
|
42
|
-
@end
|
|
43
|
-
|
|
44
|
-
NS_ASSUME_NONNULL_END
|
|
1
|
+
//
|
|
2
|
+
// FLIRDiscoveredCamera.h
|
|
3
|
+
// ThermalSDK
|
|
4
|
+
//
|
|
5
|
+
// Created by FLIR on 2022-02-03.
|
|
6
|
+
// Copyright © 2022 Teledyne FLIR. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <Foundation/Foundation.h>
|
|
10
|
+
|
|
11
|
+
@class FLIRIdentity;
|
|
12
|
+
@class FLIRWirelessCameraDetails;
|
|
13
|
+
|
|
14
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
15
|
+
|
|
16
|
+
/// Describes how connect may be called
|
|
17
|
+
typedef NS_OPTIONS(NSUInteger, FLIRConnectMethod) {
|
|
18
|
+
/// Allows normal usage of connect
|
|
19
|
+
CM_normal = 0x1,
|
|
20
|
+
/// Allows connect "connecting" over SSL
|
|
21
|
+
CM_secure = 0x2,
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/// Plain information of discovered camera, including connection settings.
|
|
25
|
+
@interface FLIRDiscoveredCamera : NSObject
|
|
26
|
+
|
|
27
|
+
/// The Identity to use when connecting to a camera
|
|
28
|
+
@property (nonatomic, nonnull, readonly, strong) FLIRIdentity *identity;
|
|
29
|
+
|
|
30
|
+
/// Human readable name of the camera
|
|
31
|
+
@property (nonatomic, nonnull, readonly) NSString *displayName;
|
|
32
|
+
|
|
33
|
+
/// Describes how connect may be called
|
|
34
|
+
@property (nonatomic, readonly) FLIRConnectMethod supportedConnectMethods;
|
|
35
|
+
|
|
36
|
+
/// Additional custom data received during discovery
|
|
37
|
+
@property (nonatomic, nonnull, readonly) NSDictionary<NSString *, NSString *> *records;
|
|
38
|
+
|
|
39
|
+
/// Optional wireless details for F1 wireless
|
|
40
|
+
@property (nonatomic, nullable, readonly, strong) FLIRWirelessCameraDetails* wirelessCameraDetails;
|
|
41
|
+
|
|
42
|
+
@end
|
|
43
|
+
|
|
44
|
+
NS_ASSUME_NONNULL_END
|