@@ -34,7 +34,7 @@ const YOLO_SEG_CONFIG = {
3434 availableInputSizes : [ 384 , 512 , 640 ] as const ,
3535 defaultInputSize : 384 ,
3636 defaultConfidenceThreshold : 0.5 ,
37- defaultNms : { iouThreshold : 0.5 } ,
37+ defaultIouThreshold : 0.5 ,
3838 postprocessorConfig : {
3939 applyNMS : false ,
4040 } ,
@@ -46,7 +46,7 @@ const FASTSAM_CONFIG = {
4646 availableInputSizes : undefined ,
4747 defaultInputSize : undefined ,
4848 defaultConfidenceThreshold : 0.5 ,
49- defaultNms : { iouThreshold : 0.9 } ,
49+ defaultIouThreshold : 0.9 ,
5050 postprocessorConfig : {
5151 applyNMS : true ,
5252 } ,
@@ -58,7 +58,7 @@ const RF_DETR_NANO_SEG_CONFIG = {
5858 availableInputSizes : undefined ,
5959 defaultInputSize : undefined , //RFDetr exposes only one method named forward
6060 defaultConfidenceThreshold : 0.5 ,
61- defaultNms : { iouThreshold : 0.5 } ,
61+ defaultIouThreshold : 0.5 ,
6262 postprocessorConfig : {
6363 applyNMS : true ,
6464 } ,
@@ -143,7 +143,7 @@ type ResolveLabels<T extends InstanceSegmentationModelName | LabelEnum> =
143143 *
144144 * const results = await segmentation.forward('path/to/image.jpg', {
145145 * confidenceThreshold: 0.5,
146- * nms: { iouThreshold: 0.45 } ,
146+ * iouThreshold: 0.45,
147147 * maxInstances: 20,
148148 * inputSize: 640,
149149 * });
@@ -237,7 +237,7 @@ export class InstanceSegmentationModule<
237237 * availableInputSizes: [640],
238238 * defaultInputSize: 640,
239239 * defaultConfidenceThreshold: 0.5,
240- * defaultNms: { iouThreshold: 0.45 } ,
240+ * defaultIouThreshold: 0.45,
241241 * postprocessorConfig: { applyNMS: true },
242242 * },
243243 * );
@@ -323,10 +323,9 @@ export class InstanceSegmentationModule<
323323 const labelEnumOffset = this . labelEnumOffset ;
324324 const defaultConfidenceThreshold =
325325 this . modelConfig . defaultConfidenceThreshold ?? 0.5 ;
326- const defaultNmsMode = this . modelConfig . defaultNms ?. mode ?? 'greedy' ;
327- const defaultIouThreshold =
328- this . modelConfig . defaultNms ?. iouThreshold ?? 0.5 ;
326+ const defaultIouThreshold = this . modelConfig . defaultIouThreshold ?? 0.5 ;
329327 const defaultInputSize = this . modelConfig . defaultInputSize ;
328+ const useWeightedNms = this . modelConfig . nmsMode === 'weighted' ;
330329
331330 return (
332331 frame : Frame ,
@@ -337,9 +336,7 @@ export class InstanceSegmentationModule<
337336
338337 const confidenceThreshold =
339338 options ?. confidenceThreshold ?? defaultConfidenceThreshold ;
340- const nmsMode = options ?. nms ?. mode ?? defaultNmsMode ;
341- const iouThreshold = options ?. nms ?. iouThreshold ?? defaultIouThreshold ;
342- const useWeightedNms = nmsMode === 'weighted' ;
339+ const iouThreshold = options ?. iouThreshold ?? defaultIouThreshold ;
343340 const maxInstances = options ?. maxInstances ?? 100 ;
344341 const returnMaskAtOriginalResolution =
345342 options ?. returnMaskAtOriginalResolution ?? true ;
@@ -386,14 +383,14 @@ export class InstanceSegmentationModule<
386383 * 1. **String path/URI**: File path, URL, or Base64-encoded string
387384 * 2. **PixelData**: Raw pixel data from image libraries (e.g., NitroImage)
388385 * @param input - Image source (string path or PixelData object)
389- * @param options - Optional configuration for the segmentation process. Includes `confidenceThreshold`, `nms `, `maxInstances`, `classesOfInterest`, `returnMaskAtOriginalResolution`, and `inputSize`.
386+ * @param options - Optional configuration for the segmentation process. Includes `confidenceThreshold`, `iouThreshold `, `maxInstances`, `classesOfInterest`, `returnMaskAtOriginalResolution`, and `inputSize`.
390387 * @returns A Promise resolving to an array of {@link SegmentedInstance} objects with `bbox`, `mask`, `maskWidth`, `maskHeight`, `label`, `score`.
391388 * @throws {RnExecutorchError } If the model is not loaded or if an invalid `inputSize` is provided.
392389 * @example
393390 * ```ts
394391 * const results = await segmentation.forward('path/to/image.jpg', {
395392 * confidenceThreshold: 0.6,
396- * nms: { iouThreshold: 0.5 } ,
393+ * iouThreshold: 0.5,
397394 * maxInstances: 10,
398395 * inputSize: 640,
399396 * classesOfInterest: ['PERSON', 'CAR'],
@@ -420,13 +417,9 @@ export class InstanceSegmentationModule<
420417 options ?. confidenceThreshold ??
421418 this . modelConfig . defaultConfidenceThreshold ??
422419 0.5 ;
423- const nmsMode =
424- options ?. nms ?. mode ?? this . modelConfig . defaultNms ?. mode ?? 'greedy' ;
425420 const iouThreshold =
426- options ?. nms ?. iouThreshold ??
427- this . modelConfig . defaultNms ?. iouThreshold ??
428- 0.5 ;
429- const useWeightedNms = nmsMode === 'weighted' ;
421+ options ?. iouThreshold ?? this . modelConfig . defaultIouThreshold ?? 0.5 ;
422+ const useWeightedNms = this . modelConfig . nmsMode === 'weighted' ;
430423 const maxInstances = options ?. maxInstances ?? 100 ;
431424 const returnMaskAtOriginalResolution =
432425 options ?. returnMaskAtOriginalResolution ?? true ;
0 commit comments