# Remap

- enum FadasRemapPipeline\_e

    - Remap algorithm pipeline specifying what algorithm pipeline is run by subsequent calls to [FadasRemap\_Run()](https://docs.qualcomm.com/doc/80-63309-1/topic/remap.html#group__remap_1gad8e7e57ee60e097109781b68784fe367) and [FadasRemap\_RunMT()](https://docs.qualcomm.com/doc/80-63309-1/topic/remap.html#group__remap_1gaec033f070314755fc4827acffdce48df).

- Param FADAS\_REMAP\_PIPELINE\_1C8:

    - Use map on a single-channel 8-bit image and ignore the ROI scaling variable.

- Param FADAS\_REMAP\_PIPELINE\_1C8\_ROISCALE:

    - Use map on a single-channel 8-bit image and also use the ROI scaling variable to scale the given ROI.

- Param FADAS\_REMAP\_PIPELINE\_3C888:

    - Use map on a three-channel 8-bit image and ignore the ROI scaling variable.

- Param FADAS\_REMAP\_PIPELINE\_3C888\_ROISCALE:

    - Use map on a three-channel 8-bit image and also use the ROI scaling variable to scale the given ROI.

- Param FADAS\_REMAP\_PIPELINE\_YUV888\_TO\_RGB888:

    - Use map on a three-channel 8-bit YUV image and convert the color space from YUV to RGB using the matrix defined [FadasCvtYUV\_UYVYtoRGB()](https://docs.qualcomm.com/doc/80-63309-1/topic/image-conversion-functions.html#group__cvtyuvh_1gafb5786870f940adce24b5cd09e2d3573).

- Param FADAS\_REMAP\_PIPELINE\_UYVY\_TO\_RGB888:

    - Use map on a 8-bit UYVY image and convert the color space from YUV to RGB using the matrix defined [FadasCvtYUV\_UYVYtoRGB()](https://docs.qualcomm.com/doc/80-63309-1/topic/image-conversion-functions.html#group__cvtyuvh_1gafb5786870f940adce24b5cd09e2d3573).

- Param FADAS\_REMAP\_PIPELINE\_VYUY\_TO\_RGB888:

    - Use map on a 8-bit VYUY image and convert the color space from YUV to RGB using the matrix defined [FadasCvtYUV\_UYVYtoRGB()](https://docs.qualcomm.com/doc/80-63309-1/topic/image-conversion-functions.html#group__cvtyuvh_1gafb5786870f940adce24b5cd09e2d3573).

- Param FADAS\_REMAP\_PIPELINE\_UYVY\_TO\_RGB888\_ROISCALE:

    - Use map on a 8-bit UYVY image, convert the color space from YUV to RGB using the matrix defined [FadasCvtYUV\_UYVYtoRGB()](https://docs.qualcomm.com/doc/80-63309-1/topic/image-conversion-functions.html#group__cvtyuvh_1gafb5786870f940adce24b5cd09e2d3573), and also use the ROI scaling variable to scale the given ROI.

- Param FADAS\_REMAP\_PIPELINE\_VYUY\_TO\_RGB888\_ROISCALE:

    - Use map on a 8-bit VYUY image, convert the color space from YUV to RGB using the matrix defined [FadasCvtYUV\_UYVYtoRGB()](https://docs.qualcomm.com/doc/80-63309-1/topic/image-conversion-functions.html#group__cvtyuvh_1gafb5786870f940adce24b5cd09e2d3573), and also use the ROI scaling variable to scale the given ROI.

- Param FADAS\_REMAP\_PIPELINE\_UYVY\_TO\_RGB888\_NORMI8:

    - Use map on a 8-bit UYVY image, convert the color space from YUV to RGB using the matrix defined [FadasCvtYUV\_UYVYtoRGB()](https://docs.qualcomm.com/doc/80-63309-1/topic/image-conversion-functions.html#group__cvtyuvh_1gafb5786870f940adce24b5cd09e2d3573), and also normalize output image with int8 output.

- Param FADAS\_REMAP\_PIPELINE\_UYVY\_TO\_RGB888\_NORMU8:

    - Use map on a 8-bit UYVY image, convert the color space from YUV to RGB using the matrix defined [FadasCvtYUV\_UYVYtoRGB()](https://docs.qualcomm.com/doc/80-63309-1/topic/image-conversion-functions.html#group__cvtyuvh_1gafb5786870f940adce24b5cd09e2d3573), and also normalize output image with uint8 output.

- Param FADAS\_REMAP\_PIPELINE\_Y8UV8\_TO\_RGB888:

    - Use map on a 8-bit Y8UV8 image, convert the color space from YUV to RGB using the matrix defined FadasCvtYUV\_Y8UV8toRGB888().

- Param FADAS\_REMAP\_PIPELINE\_Y8UV8\_TO\_RGB888\_NORMI8:

    - Use map on a 8-bit Y8UV8 image, convert the color space from YUV to RGB using the matrix defined FadasCvtYUV\_Y8UV8toRGB888(), and also normalize output image with int8 output.

- Param FADAS\_REMAP\_PIPELINE\_Y8UV8\_TO\_RGB888\_NORMU8:

    - Use map on a 8-bit Y8UV8 image, convert the color space from YUV to RGB using the matrix defined FadasCvtYUV\_Y8UV8toRGB888(), and also normalize output image with uint8 output.

- Param FADAS\_REMAP\_PIPELINE\_Y8UV8\_TO\_RGB888\_ROISCALE:

    - Use map on a 8-bit Y8UV8 image, convert the color space from YUV to RGB using the matrix defined FadasCvtYUV\_Y8UV8toRGB888(), and also use the ROI scaling variable to scale the given ROI.

*Values:*

- enumerator FADAS\_REMAP\_PIPELINE\_1C8

    - One 8-bit channel unconverted.

- enumerator FADAS\_REMAP\_PIPELINE\_1C8\_ROISCALE

    - 8-bit channel unconverted + ROI scaling

- enumerator FADAS\_REMAP\_PIPELINE\_3C888

    - Three 8-bit channels unconverted.

- enumerator FADAS\_REMAP\_PIPELINE\_3C888\_ROISCALE

    - Three 8-bit channels unconverted + ROI scaling.

- enumerator FADAS\_REMAP\_PIPELINE\_YUV888\_TO\_RGB888

    - Convert YUV888 to RGB888 [see [FadasCvtYUV\_UYVYtoRGB()](https://docs.qualcomm.com/doc/80-63309-1/topic/image-conversion-functions.html#group__cvtyuvh_1gafb5786870f940adce24b5cd09e2d3573)].

- enumerator FADAS\_REMAP\_PIPELINE\_UYVY\_TO\_RGB888

    - Convert UYVY to RGB [see [FadasCvtYUV\_UYVYtoRGB()](https://docs.qualcomm.com/doc/80-63309-1/topic/image-conversion-functions.html#group__cvtyuvh_1gafb5786870f940adce24b5cd09e2d3573)].

- enumerator FADAS\_REMAP\_PIPELINE\_VYUY\_TO\_RGB888

    - Convert VYUY to RGB.

- enumerator FADAS\_REMAP\_PIPELINE\_UYVY\_TO\_RGB888\_ROISCALE

    - Convert UYVY to RGB [see [FadasCvtYUV\_UYVYtoRGB()](https://docs.qualcomm.com/doc/80-63309-1/topic/image-conversion-functions.html#group__cvtyuvh_1gafb5786870f940adce24b5cd09e2d3573)] + ROI scaling.

- enumerator FADAS\_REMAP\_PIPELINE\_VYUY\_TO\_RGB888\_ROISCALE

    - Convert VYUY to RGB + ROI scaling.

- enumerator FADAS\_REMAP\_PIPELINE\_UYVY\_TO\_RGB888\_NORMI8

    - Convert UYVY to RGB [see [FadasCvtYUV\_UYVYtoRGB()](https://docs.qualcomm.com/doc/80-63309-1/topic/image-conversion-functions.html#group__cvtyuvh_1gafb5786870f940adce24b5cd09e2d3573)] + Renormalization with int8 output.

- enumerator FADAS\_REMAP\_PIPELINE\_UYVY\_TO\_RGB888\_NORMU8

    - Convert UYVY to RGB [see [FadasCvtYUV\_UYVYtoRGB()](https://docs.qualcomm.com/doc/80-63309-1/topic/image-conversion-functions.html#group__cvtyuvh_1gafb5786870f940adce24b5cd09e2d3573)] + Renormalization with uint8 output.

- enumerator FADAS\_REMAP\_PIPELINE\_Y8UV8\_TO\_RGB888

    - 

- enumerator FADAS\_REMAP\_PIPELINE\_Y8UV8\_TO\_RGB888\_NORMI8

    - 

- enumerator FADAS\_REMAP\_PIPELINE\_Y8UV8\_TO\_RGB888\_NORMU8

    - 

- enumerator FADAS\_REMAP\_PIPELINE\_Y8UV8\_TO\_RGB888\_ROISCALE

    - 

- enumerator FADAS\_REMAP\_PIPELINE\_MAX

    - Do not use. Must be last.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasRemap\_Init(const char \*licenseKey)

    - Initialize FastADAS remap feature. **WARNING:** Must be called once before other FastADAS functions except [FadasVersion()](https://docs.qualcomm.com/doc/80-63309-1/topic/misc.html#group__misc_1ga55cbdff48d751f2a0227ae4ac106d746).

- Parameters:

    - **licenseKey** – Pointer to the license key string.

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) — Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasRemap\_DeInit(void)

    - Deinitialize FastADAS remap feature. **WARNING:** Must be called once after all other FastADAS functions.

- void \*FadasRemap\_CreateWorkers(uint32\_t nThreads, int32\_t pThreadsAffinity[], [FadasRemapPipeline\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_group__remap_1ga06962564a058d722481f2b61d1c0d0ea.html#_CPPv420FadasRemapPipeline_e) ePipeline)

    - Creates a multithreaded worker pool specifically for the generic geometric transformation feature.

- Parameters:

    - - **nThreads** – Requested number of threads, can be limited to the maximum number of threads if requesting more than that limit. The maximum is the maximum number of physical or logical cores. If requesting 0 threads, use the maximum number.
- **pThreadsAffinity** – Array to set threads affinity
- **ePipeline** – Execution pipeline to use with this worker pool.

- Returns:

    - Worker pool pointer.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasRemap\_DestroyWorkers(void \*wrkrs)

    - Destroys a generic geometric transformation worker pool.

- Parameters:

    - **wrkrs** – Pointer to the worker pool created by [FadasRemap\_CreateWorkers()](https://docs.qualcomm.com/doc/80-63309-1/topic/remap.html#group__remap_1gaf19e816c84611e37e0686502aee72823).

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) — Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasRemap\_Run([FadasRemapMap\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_remap_8h_1af2d7cb4146e6004fa444032b86564ea7.html#_CPPv415FadasRemapMap_t) \*map\_, [FadasImage\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_image__t.html#_CPPv412FadasImage_t) \*\_\_restrict src, [FadasImage\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_image__t.html#_CPPv412FadasImage_t) \*\_\_restrict dst, [FadasROI\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_r_o_i__t.html#_CPPv410FadasROI_t) \*mapROI, [float32\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1a4611b605e45ab401f02cab15c5e38715.html#_CPPv49float32_t) roiScale = 1.0, [FadasNormlzParams\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_normlz_params__t.html#_CPPv419FadasNormlzParams_t) \*normlz = nullptr)

    - Single thread version of [FadasRemap\_RunMT()](https://docs.qualcomm.com/doc/80-63309-1/topic/remap.html#group__remap_1gaec033f070314755fc4827acffdce48df). Applies a generic geometric transformation to either an 8-bit grayscale image or an RGB888 image. The interpolation method is specified through a parameter.

The image format is specified as part of map creation and initialization and assumed constant thereafter. The value of each pixel in the destination image is obtained from a location of the source image through a per-element mapping as defined in the mapping matrices. The mapping has sub-pixel precision, thus interpolations are involved. The interpolation method is bilinear interpolation.

The following image illustrates some of the variable definitions below assuming that the map has an implicit downscaling initialized in one of the initialization functions.

![../../_images/Remap_roiScale.png](data:image/png;base64,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)

The upper-left corner of the ROI and the scaled ROI are the same. The upper-left of the ROI is assumed to be the upper-left (0,0) of the destination image. However, that upper-left corner of the destination can be set to point elsewhere within the physical destination image as long as the resulting ROI did not land outside physical memory.

The scale of the destination ROI is relative to the scale of the output image. The overall scale of the output map relative to the input image is determined at map creation [*e.g*., [FadasRemap\_CreateMapFromCalib()](https://docs.qualcomm.com/doc/80-63309-1/topic/remap.html#group__remap_1gac24fa54f037d282a68729b65b4bdca6d)

]. This scale change is in addition to that scale change. Typically used when feeding fixed-size ROIs into a DL network that requires fixed-sized input dimensions. The upper-left corner values of the ROI remain the same. Only the width and height scale. The caller must adjust the upper-left corner coordinates.

For example, a map might have a scale reduction in each dimension of 4.0 built into it. A value of 2.2 for this parameter indicates that the ROI dimensions are 2.2 times the output map size. Therefore, an ROI width of 10 corresponds to a width of 22 in destination image coordinates, which then corresponds to a width of 88 in input image coordinates.

**WARNING:** The corresponding destination image coordinates must fit within the destination image boundaries and the corresponding input image coordinates must fit within the input image boundaries.

- Parameters:

    - - **map** – Pointer to the map created by FadasRemap\_CreateMap.
- **src** – Pointer to the input image. Because the map value map pixel locations are backwards to the source image, the source image dimension should be equal to or larger than the range of map values for that dimension. **WARNING:** Must be 128-byte aligned.
- **dst** – Pointer to the output image. While not required, the destination image dimensions are typically the same size as the ROI. The width and stride must be equal to or larger than the ROI width. The height must be equal to or larger than the ROI height. **WARNING:** Must be 128-byte aligned.
- **mapROI** – Pointer to the ROI in output image relative to the virtual destination image coordinate system which is also the map output coordinate system. If the mapping from the source to destination image includes a scale reduction (for example, 2x), the ROI must express coordinates within those reduced dimensions.
- **roiScale** – Optional parameter that only applies to pipelines that include ROISCALE and is only guaranteed for monotonically increasing maps (lens models) from the principal point (for example, avoid folds in map space). The supported range for roiSale is a minimum of 1.0 to a maximum of 8.0.
- **normlz** – Pointer to array of structure holding normalization parameters for all channel. This is an optional parameter, required only when output image is to be normalized. **WARNING:**

    - normlz[i].sub \((s\_r)\) has limited valid range of \(-255 \le s\_r \le 255\).
    - normlz[i].mul \((m\_r)\) has limited valid range of \(-4 \le m\_r \le 4\).
    - normlz[i].add \((a\_r)\) has limited valid range of \(-255 \le a\_r \le 255\).

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) — Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasRemap\_RunMT(void \*wrkrs, [FadasRemapMap\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_remap_8h_1af2d7cb4146e6004fa444032b86564ea7.html#_CPPv415FadasRemapMap_t) \*map\_, [FadasImage\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_image__t.html#_CPPv412FadasImage_t) \*src, [FadasImage\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_image__t.html#_CPPv412FadasImage_t) \*dst, [FadasROI\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_r_o_i__t.html#_CPPv410FadasROI_t) \*mapROI, [float32\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1a4611b605e45ab401f02cab15c5e38715.html#_CPPv49float32_t) roiScale = 1.0, [FadasNormlzParams\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_normlz_params__t.html#_CPPv419FadasNormlzParams_t) \*normlz = nullptr)

    - Multithreaded version of [FadasRemap\_Run()](https://docs.qualcomm.com/doc/80-63309-1/topic/remap.html#group__remap_1gad8e7e57ee60e097109781b68784fe367). Applies a generic geometric transformation to either an 8-bit grayscale image or an RGB888 image. The interpolation method is specified through a parameter.

The image format is specified as part of map creation and initialization and assumed constant thereafter. The value of each pixel in the destination image is obtained from a location of the source image through a per-element mapping as defined in the mapping matrices. The mapping has sub-pixel precision, thus interpolations are involved. The interpolation method is bilinear interpolation.

The scale of the destination ROI is relative to the scale of the output image. The overall scale of the output map relative to the input image is determined at map creation [*e.g*., [FadasRemap\_CreateMapFromCalib()](https://docs.qualcomm.com/doc/80-63309-1/topic/remap.html#group__remap_1gac24fa54f037d282a68729b65b4bdca6d)

]. This scale change is in addition to that scale change. Typically used when feeding fixed-size ROIs into a DL network requiring fixed-sized input dimensions. The upper-left corner of the ROI remains the same values. Only the width and height scale. The caller must adjust the UL corner coordinates.

For example, a map might have a built-in scale reduction of 4.0 in each dimension. A value of 2.2 for this parameter means that the ROI dimensions are 2.2 times the output map size. Therefore, an ROI width of 10 corresponds to a width of 22 in destination image coordinates, which then corresponds to a width of 88 in input image coordinates.

**WARNING:** The corresponding destination image coordinates must fit within the destination image boundaries and the corresponding input image coordinates must fit within the input image boundaries.

- Parameters:

    - - **wrkrs** – Pointer to the worker pool created by FadasRemap\_CreateWorkers.
- **map** – Pointer to the map created by FadasRemap\_CreateMap().
- **src** – Pointer to the input image. Because map value map pixel locations backwards to the source image, the source image dimension should be equal to or larger than the range of map values for that dimension. **WARNING:** Must be 128-byte aligned.
- **dst** – Pointer to the output image. While not required, the destination image dimensions are typically the same size as the ROI. The width and stride must be equal to or larger than the ROI width. The height must be equal to or larger than the ROI height. **WARNING:** Must be 128-byte aligned.
- **mapROI** – Pointer to the ROI in the output image relative to the virtual destination image coordinate system, which is also the map output coordinate system. If the mapping from the source to destination image includes a scale reduction (for example, 2x), the ROI must express coordinates within those reduced dimensions.
- **roiScale** – Optional parameter that only applies to pipelines that include roiScale and is only guaranteed for monotonically increasing maps (lens models) from the principal point (for example, avoid folds in map space). Supported range for roiSale is a minimum of 1.0 to a maximum of 8.0.
- **normlz** – Pointer to array of structure holding normalization parameters for all channel. This is an optional parameter, required only when output image is to be normalized. **WARNING:**

    - normlz[i].sub \((s\_r)\) has limited valid range of \(-255 \le s\_r \le 255\).
    - normlz[i].mul \((m\_r)\) has limited valid range of \(-4 \le m\_r \le 4\).
    - normlz[i].add \((a\_r)\) has limited valid range of \(-255 \le a\_r \le 255\).

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) — Success.

- [FadasRemapMap\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_remap_8h_1af2d7cb4146e6004fa444032b86564ea7.html#_CPPv415FadasRemapMap_t) \*FadasRemap\_CreateMapNoUndistortion(uint32\_t srcWidth, uint32\_t srcHeight, uint32\_t dstWidth, uint32\_t dstHeight, [FadasRemapPipeline\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_group__remap_1ga06962564a058d722481f2b61d1c0d0ea.html#_CPPv420FadasRemapPipeline_e) ePipeline, uint8\_t borderConst)

    - Creates a generic geometric transformation map without distortion but can still include downscaling or color conversion.

- Parameters:

    - - **srcWidth** – Input image width. **WARNING:** Must equal the image sizes input to Run() operations, which also must match the size of the image used for the calibration model. **WARNING:** Must be a multiple of 8.
- **srcHeight** – Input image height. **WARNING:** Must equal the image sizes input to Run() operations, which also must match the size of the image used for the calibration model.
- **dstWidth** – Output image width. **WARNING:** Must be a multiple of 8.
- **dstHeight** – Output image height.
- **ePipeline** – Descriptor of execution pipeline to use.
- **borderConst** – Value to put in locations where the result is not driven by the mapped inputs.

- Returns:

    - Map pointer.

- [FadasRemapMap\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_remap_8h_1af2d7cb4146e6004fa444032b86564ea7.html#_CPPv415FadasRemapMap_t) \*FadasRemap\_CreateMapFromMap(uint32\_t camWidth, uint32\_t camHeight, uint32\_t mapWidth, uint32\_t mapHeight, uint32\_t mapStride, const [float32\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1a4611b605e45ab401f02cab15c5e38715.html#_CPPv49float32_t) \*\_\_restrict mapX, const [float32\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1a4611b605e45ab401f02cab15c5e38715.html#_CPPv49float32_t) \*\_\_restrict mapY, [FadasRemapPipeline\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_group__remap_1ga06962564a058d722481f2b61d1c0d0ea.html#_CPPv420FadasRemapPipeline_e) ePipeline, uint8\_t borderConst)

    - Creates a generic geometric transformation map from one compatible with OpenCV floating-point maps.

- Parameters:

    - - **camWidth** – Input image width. **WARNING:**

    - Must equal the image sizes input to Run() operations, which also must match the size of the image used for the calibration model.
    - Must be a multiple of 8.
- **camHeight** – Input image height. **WARNING:** Must equal the image sizes input to Run() operations, which also must match the size of the image used for the calibration model.
- **mapWidth** – Input map width. **WARNING:** Must be a multiple of 8.
- **mapHeight** – Input map height.
- **mapX** – Floating point matrix. Each element is the column coordinate of the mapped location in the source image. If dst(i,j) maps to src(ii,jj), mapX(i,j)=jj. The matrix has the same width and height as the destination image. The size of buffer is mapStride\*dstHeight bytes.
- **mapY** – Floating point matrix. Each element is the row coordinate of the mapped location in the source image. If dst(i,j) maps to src(ii,jj), mapY(i,j)=ii. The matrix has the same width and height as the destination image. The size of buffer is mapStride\*dstHeight bytes.
- **mapStride** – Stride of the mapX and mapY is typically set to dstWidth\*sizeof(float32\_t).
- **ePipeline** – Descriptor of execution pipeline to use.
- **borderConst** – Value to put in locations where the result is not driven by the mapped inputs.

- Returns:

    - Map pointer.

- [FadasRemapMap\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_remap_8h_1af2d7cb4146e6004fa444032b86564ea7.html#_CPPv415FadasRemapMap_t) \*FadasRemap\_CreateMapFromBuffer(uint32\_t mapWidth, uint32\_t mapHeight, [FadasRemapPipeline\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_group__remap_1ga06962564a058d722481f2b61d1c0d0ea.html#_CPPv420FadasRemapPipeline_e) ePipeline, uint8\_t borderConst, uint8\_t \*\_\_restrict pMapBuf)

    - Creates a generic geometric transformation map from buffer holding map data.

- Parameters:

    - - **mapWidth** – Input map width. **WARNING:** Must be a multiple of 8.
- **mapHeight** – Input map height.
- **ePipeline** – Descriptor of execution pipeline to use.
- **borderConst** – Value to put in locations where the result is not driven by the mapped inputs.
- **pMapBuf** – Buffer holding map data filled by application by reading from a map data file.

- Returns:

    - Map pointer.

- [FadasRemapMap\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_remap_8h_1af2d7cb4146e6004fa444032b86564ea7.html#_CPPv415FadasRemapMap_t) \*FadasRemap\_CreateMapFromCalib(uint32\_t camWidth, uint32\_t camHeight, [FadasCameraProps\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_camera_props__t.html#_CPPv418FadasCameraProps_t) camProps, [FadasLensDistortionModel\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1af6f46ee939fd20cfc454ad1a06113e3a.html#_CPPv426FadasLensDistortionModel_e) camDistModel, [FadasDistCoeffs\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_dist_coeffs__t.html#_CPPv417FadasDistCoeffs_t) camDistCoeffs, [FadasRemapPipeline\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_group__remap_1ga06962564a058d722481f2b61d1c0d0ea.html#_CPPv420FadasRemapPipeline_e) ePipeline, uint32\_t mapWidth, uint32\_t mapHeight, uint8\_t borderConst, [float32\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1a4611b605e45ab401f02cab15c5e38715.html#_CPPv49float32_t) \*extrnscT = nullptr, [float32\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1a4611b605e45ab401f02cab15c5e38715.html#_CPPv49float32_t) \*extrnscR = nullptr, [FadasCameraProps\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_camera_props__t.html#_CPPv418FadasCameraProps_t) camPropsNew = {0.0, 0.0, 0.0, 0.0})

    - Creates a generic geometric transformation map from calibration model parameters.

- Parameters:

    - - **camWidth** – Input image width. **WARNING:** Must equal the image sizes input to Run() operations, which also must match the size of the image used for the calibration model. **WARNING:** Must be a multiple of 8.
- **camHeight** – Input image height. **WARNING:** Must equal the image sizes input to Run() operations, which also must match the size of the image used for the calibration model.
- **camProps** – Camera intrinsic calibration parameters.
- **camDistModel** – Camera lens distortion model.
- **camDistCoeffs** – Camera lens distortion parameters.
- **ePipeline** – Input and output image format.
- **mapWidth** – Desired map width. The output size when no ROI is specified for scale changes between input and output images. **WARNING:** Must equal the image sizes output by Run() operations.
- **mapHeight** – Desired map height. The output size when no ROI is specified for scale changes between input and output images. **WARNING:** Must equal the image sizes output by Run() operations.
- **borderConst** – Value to put in locations where the result is not driven by the mapped inputs.
- **extrnscT** – Optional (x,y) translation in pixel coordinates (u,v) to include in the map.
- **extrnscR** – Optional rotation (3 x 3 matrix) to include in the map.
- **camPropsNew** – New camera calibration parameters to be used to generate output. If this parameter is not set, it will be internally calculated.

- Returns:

    - Map pointer.

- [FadasRemapMap\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_remap_8h_1af2d7cb4146e6004fa444032b86564ea7.html#_CPPv415FadasRemapMap_t) \*FadasRemap\_CreateMapFromFisheyeCalib(uint32\_t camWidth, uint32\_t camHeight, [FadasCameraProps\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_camera_props__t.html#_CPPv418FadasCameraProps_t) camProps, [FadasDistCoeffs\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_dist_coeffs__t.html#_CPPv417FadasDistCoeffs_t) camDistCoeffs, [FadasRemapPipeline\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_group__remap_1ga06962564a058d722481f2b61d1c0d0ea.html#_CPPv420FadasRemapPipeline_e) ePipeline, uint32\_t mapWidth, uint32\_t mapHeight, uint8\_t borderConst)

    - Creates a generic geometric transformation map from calibration model parameters. This API is obsolete, use [FadasRemap\_CreateMapFromCalib()](https://docs.qualcomm.com/doc/80-63309-1/topic/remap.html#group__remap_1gac24fa54f037d282a68729b65b4bdca6d) instead.

- Parameters:

    - - **camWidth** – Input image width. **WARNING:** Must equal the image sizes input to Run() operations, which also must match the size of the image used for the calibration model. **WARNING:** Must be a multiple of 8.
- **camHeight** – Input image height. **WARNING:** Must equal the image sizes input to Run() operations, which also must match the size of the image used for the calibration model.
- **camProps** – Camera calibration parameters.
- **camDistModel** – Camera lens distortion model.
- **camDistCoeffs** – Fisheye distortion parameters.
- **ePipeline** – Descriptor of execution pipeline to use.
- **mapWidth** – Desired map width. For scale changes between input and output images, this is the output width when no ROI is specified. **WARNING:** Must equal the image sizes output by Run() operations.
- **mapHeight** – Desired map height. For scale changes between input and output images, this is the output height when no ROI is specified. **WARNING:** Must equal the image sizes output by Run() operations.
- **borderConst** – Value to put in locations where the result is not driven by the mapped inputs.

- Returns:

    - Map pointer.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasRemap\_GetOptimalNewCameraMatrix(const [FadasCameraProps\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_camera_props__t.html#_CPPv418FadasCameraProps_t) \*cameraProps, const [FadasDistCoeffs\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_dist_coeffs__t.html#_CPPv417FadasDistCoeffs_t) distCoeffs, uint32\_t width, uint32\_t height, [FadasCameraProps\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_camera_props__t.html#_CPPv418FadasCameraProps_t) \*newCameraProps, uint32\_t newWidth, uint32\_t newHeight, [float32\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1a4611b605e45ab401f02cab15c5e38715.html#_CPPv49float32_t) alpha = 0.0, [FadasROI\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_r_o_i__t.html#_CPPv410FadasROI_t) \*validPixROI = nullptr)

    - Creates a camera intrinsic matrix based on the free scaling parameter.

- Parameters:

    - - **cameraProps** – Pointer to the camera intrinsic calibration parameters.
- **distCoeffs** – Camera lens distortion parameters.
- **width** – Width dimension of the input image.
- **height** – Height dimension of the input image.
- **newCameraProps** – Pointer to the output optimal camera matrix.
- **newWidth** – New image width.
- **newHeight** – New image height.
- **alpha** – Parameter for scaling. Value ranges form 0.0 to 1.0.
- **validPixROI** – Pointer to the ROI that defines the validPixels with the new cameraProps parameter.

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) — Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasRemap\_DestroyMap([FadasRemapMap\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_remap_8h_1af2d7cb4146e6004fa444032b86564ea7.html#_CPPv415FadasRemapMap_t) \*map\_)

    - Destroys a generic geometric transformation map.

- Parameters:

    - **map** – Pointer to the map created by FadasRemap\_CreateMap().

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) — Success.

- struct FadasDistCoeffs\_t

    - Distortion structure.

- Param k1-k8:

    - Coefficients corresponding to the camera distortion model.

Public Members

- [float64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1ac55f3ae81b5bc9053760baacf57e47f4.html#_CPPv49float64_t) k1

    - First coefficient of the camera distortion model.

- [float64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1ac55f3ae81b5bc9053760baacf57e47f4.html#_CPPv49float64_t) k2

    - Second coefficient of the camera distortion model.

- [float64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1ac55f3ae81b5bc9053760baacf57e47f4.html#_CPPv49float64_t) k3

    - Third coefficient of the camera distortion model.

- [float64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1ac55f3ae81b5bc9053760baacf57e47f4.html#_CPPv49float64_t) k4

    - Fourth coefficient of the camera distortion model.

- [float64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1ac55f3ae81b5bc9053760baacf57e47f4.html#_CPPv49float64_t) k5

    - Fifth coefficient of the camera distortion model.

- [float64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1ac55f3ae81b5bc9053760baacf57e47f4.html#_CPPv49float64_t) k6

    - Sixth coefficient of the camera distortion model.

- [float64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1ac55f3ae81b5bc9053760baacf57e47f4.html#_CPPv49float64_t) k7

    - Seventh coefficient of the camera distortion model.

- [float64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1ac55f3ae81b5bc9053760baacf57e47f4.html#_CPPv49float64_t) k8

    - Eighth coefficient of the camera distortion model.

## Related examples

- [uyvy\_remap/app.cpp](https://docs.qualcomm.com/doc/80-63309-1/topic/uyvy-remap.html)
- [vyuy\_remap/app.cpp](https://docs.qualcomm.com/doc/80-63309-1/topic/vyuy-remap.html)
- [one/one.cpp](https://docs.qualcomm.com/doc/80-63309-1/topic/one.html)

Last Published: Sep 30, 2024

[Previous Topic
Image Pyramid](https://docs.qualcomm.com/bundle/publicresource/80-63309-1/topics/image-pyramid.md) [Next Topic
Matrix Decomposition](https://docs.qualcomm.com/bundle/publicresource/80-63309-1/topics/matrix-decomposition.md)