52 #include <cuda_runtime.h>
61 using namespace nppPlusV;
83 #define NPP_HALF_TO_NPP16F(pHalf) (* reinterpret_cast<Npp16f *>((void *)(pHalf)))
87 #if defined(_WIN32) && !defined(_WIN64)
98 #define NPP_ALIGN_8 __align__(8)
99 #define NPP_ALIGN_16 __align__(16)
401 #define NPP_MIN_8U ( 0 )
402 #define NPP_MAX_8U ( 255 )
403 #define NPP_MIN_16U ( 0 )
404 #define NPP_MAX_16U ( 65535 )
405 #define NPP_MIN_32U ( 0 )
406 #define NPP_MAX_32U ( 4294967295U )
407 #define NPP_MIN_64U ( 0 )
408 #define NPP_MAX_64U ( 18446744073709551615ULL )
410 #define NPP_MIN_8S (-127 - 1 )
411 #define NPP_MAX_8S ( 127 )
412 #define NPP_MIN_16S (-32767 - 1 )
413 #define NPP_MAX_16S ( 32767 )
414 #define NPP_MIN_32S (-2147483647 - 1 )
415 #define NPP_MAX_32S ( 2147483647 )
416 #define NPP_MAX_64S ( 9223372036854775807LL )
417 #define NPP_MIN_64S (-9223372036854775807LL - 1)
419 #define NPP_MINABS_32F ( 1.175494351e-38f )
420 #define NPP_MAXABS_32F ( 3.402823466e+38f )
421 #define NPP_MINABS_64F ( 2.2250738585072014e-308 )
422 #define NPP_MAXABS_64F ( 1.7976931348623158e+308 )
610 #define NPP_HOG_MAX_CELL_SIZE (16)
611 #define NPP_HOG_MAX_BLOCK_SIZE (64)
612 #define NPP_HOG_MAX_BINS_PER_CELL (16)
613 #define NPP_HOG_MAX_CELLS_PER_DESCRIPTOR (256)
614 #define NPP_HOG_MAX_OVERLAPPING_BLOCKS_PER_DESCRIPTOR (256)
615 #define NPP_HOG_MAX_DESCRIPTOR_LOCATIONS_PER_CALL (128)
654 Npp32u aSeedPixelValue[3];
733 #define NPP_CONTOUR_DIRECTION_SOUTH_EAST 1
734 #define NPP_CONTOUR_DIRECTION_SOUTH 2
735 #define NPP_CONTOUR_DIRECTION_SOUTH_WEST 4
736 #define NPP_CONTOUR_DIRECTION_WEST 8
737 #define NPP_CONTOUR_DIRECTION_EAST 16
738 #define NPP_CONTOUR_DIRECTION_NORTH_EAST 32
739 #define NPP_CONTOUR_DIRECTION_NORTH 64
740 #define NPP_CONTOUR_DIRECTION_NORTH_WEST 128
742 #define NPP_CONTOUR_DIRECTION_ANY_NORTH NPP_CONTOUR_DIRECTION_NORTH_EAST | NPP_CONTOUR_DIRECTION_NORTH | NPP_CONTOUR_DIRECTION_NORTH_WEST
743 #define NPP_CONTOUR_DIRECTION_ANY_WEST NPP_CONTOUR_DIRECTION_NORTH_WEST | NPP_CONTOUR_DIRECTION_WEST | NPP_CONTOUR_DIRECTION_SOUTH_WEST
744 #define NPP_CONTOUR_DIRECTION_ANY_SOUTH NPP_CONTOUR_DIRECTION_SOUTH_EAST | NPP_CONTOUR_DIRECTION_SOUTH | NPP_CONTOUR_DIRECTION_SOUTH_WEST
745 #define NPP_CONTOUR_DIRECTION_ANY_EAST NPP_CONTOUR_DIRECTION_NORTH_EAST | NPP_CONTOUR_DIRECTION_EAST | NPP_CONTOUR_DIRECTION_SOUTH_EAST
755 NppiPoint nEast1, nNorthEast1, nNorth1, nNorthWest1,
nWest1, nSouthWest1, nSouth1, nSouthEast1;
Definition: nppdefs.h:781
Definition: nppdefs.h:377
Definition: nppdefs.h:497
Definition: nppdefs.h:590
Definition: nppdefs.h:226
Npp32s nReverseOrderIndex
contour pixel clockwise order index in geometry list
Definition: nppdefs.h:717
Definition: nppdefs.h:232
Npp32u nMarkerLabelPixelCount
total number of pixels in this connected pixel region
Definition: nppdefs.h:684
Definition: nppdefs.h:184
2D Npp32f Point
Definition: nppdefs.h:437
Speed reduction due to uncoalesced memory accesses warning.
Definition: nppdefs.h:257
Channel of interest is not 1, 2, or 3.
Definition: nppdefs.h:212
Npp8u nTest1SouthWestConnected
Definition: nppdefs.h:761
NppiMaskSize
Fixed filter-kernel sizes.
Definition: nppdefs.h:141
Npp32f re
Real part.
Definition: nppdefs.h:342
Npp8u nAlreadyOutput
this pixel has already been output in geometry list
Definition: nppdefs.h:724
int nMaxThreadsPerMultiProcessor
Definition: nppdefs.h:798
Definition: nppdefs.h:747
Image pixels are constant for quality index.
Definition: nppdefs.h:195
Definition: nppdefs.h:567
Definition: nppdefs.h:153
Definition: nppdefs.h:376
Npp32u im
Imaginary part.
Definition: nppdefs.h:323
struct NPP_ALIGN_8 Npp32uc
Complex Number This struct represents an unsigned int complex number.
int height
Rectangle height.
Definition: nppdefs.h:468
Round to the nearest even integer.
Definition: nppdefs.h:527
Definition: nppdefs.h:150
General image descriptor.
Definition: nppdefs.h:662
int haarBufferSize
size of the buffer
Definition: nppdefs.h:628
Definition: nppdefs.h:489
unsigned char Npp8u
8-bit unsigned chars
Definition: nppdefs.h:274
Definition: nppdefs.h:144
Definition: nppdefs.h:185
Definition: nppdefs.h:239
Npp8u nTest1NorthWestConnected
Definition: nppdefs.h:759
Definition: nppdefs.h:234
Definition: nppdefs.h:191
struct __align__(2)
Complex Number This struct represents an unsigned char complex number.
Definition: nppdefs.h:290
int nCudaDeviceId
Definition: nppdefs.h:796
Complex Number This struct represents an unsigned int complex number.
Definition: nppdefs.h:320
Definition: nppdefs.h:566
int y
y-coordinate of upper left corner (lowest memory address).
Definition: nppdefs.h:481
int nStep
step size
Definition: nppdefs.h:665
sum
Definition: nppdefs.h:646
Npp32u nPrevContourPixelIndex
index of previous ordered contour pixel in NppiContourPixelGeometryInfo list
Definition: nppdefs.h:721
Npp64f re
Real part.
Definition: nppdefs.h:362
Definition: nppdefs.h:189
Definition: nppdefs.h:148
Definition: nppdefs.h:149
Definition: nppdefs.h:573
int y
y-coordinate.
Definition: nppdefs.h:431
int nCudaDevAttrComputeCapabilityMajor
Definition: nppdefs.h:801
Npp32u nMarkerLabelID
this connected pixel region contour ID
Definition: nppdefs.h:698
NppiAxis
Definition: nppdefs.h:486
Definition: nppdefs.h:243
NppiPoint oContourPrevPixelLocation
image geometry X and Y location of previous contour pixel
Definition: nppdefs.h:713
Definition: nppdefs.h:183
Definition: nppdefs.h:188
Definition: nppdefs.h:223
cudaStream_t hStream
Definition: nppdefs.h:795
The given ROI has no interestion with either the source or destination ROI.
Definition: nppdefs.h:253
NppiBayerGridPosition
Bayer Grid Position Registration.
Definition: nppdefs.h:130
Npp64s re
Real part.
Definition: nppdefs.h:352
NppiSize detectionWindowSize
detection window size (pixels).
Definition: nppdefs.h:607
Definition: nppdefs.h:190
sign change XOR
Definition: nppdefs.h:635
Npp8u nTest1EastConnected
Definition: nppdefs.h:756
AC Table.
Definition: nppdefs.h:641
NppStatus
Error Status Codes.
Definition: nppdefs.h:174
Definition: nppdefs.h:231
Bad or unsupported number of channels.
Definition: nppdefs.h:211
Npp8uc
Definition: nppdefs.h:294
Image size isn't multiple of two.
Definition: nppdefs.h:255
Definition: nppdefs.h:490
Definition: nppdefs.h:670
Definition: nppdefs.h:592
Definition: nppdefs.h:626
Npp32u nContourPixelCount
total number of pixels in this connected pixel region contour
Definition: nppdefs.h:685
Definition: nppdefs.h:393
Npp32f theta
Definition: nppdefs.h:457
Definition: nppdefs.h:114
Definition: nppdefs.h:593
Definition: nppdefs.h:392
Npp32u re
Real part.
Definition: nppdefs.h:322
int nCudaDevAttrComputeCapabilityMinor
Definition: nppdefs.h:802
Wrong order of the destination channels.
Definition: nppdefs.h:205
Complex Number This struct represents a long long complex number.
Definition: nppdefs.h:350
Npp32s * haarBuffer
buffer
Definition: nppdefs.h:629
Npp32u nNextContourPixelIndex
index of next ordered contour pixel in NppiContourPixelGeometryInfo list
Definition: nppdefs.h:720
sign change count_0
Definition: nppdefs.h:636
Npp32u nSegmentNum
relative block segment number within this particular contour ID
Definition: nppdefs.h:701
Definition: nppdefs.h:488
Definition: nppdefs.h:380
int nMaxThreadsPerBlock
Definition: nppdefs.h:799
Definition: nppdefs.h:394
void * pData
per image device memory pointer to the corresponding buffer
Definition: nppdefs.h:672
Npp64s im
Imaginary part.
Definition: nppdefs.h:353
Npp32s re
Real part.
Definition: nppdefs.h:332
Definition: nppdefs.h:237
NppiRect oMarkerLabelBoundingBox
bounding box of this connected pixel region
Definition: nppdefs.h:688
Definition: nppdefs.h:782
Step value is not pixel multiple.
Definition: nppdefs.h:200
Linear interpolation.
Definition: nppdefs.h:116
2D Size This struct typically represents the size of a a rectangular region in two space...
Definition: nppdefs.h:465
NppCmpOp
Definition: nppdefs.h:493
Npp8u nPixelAlreadyUsed
this test pixel is has already been used
Definition: nppdefs.h:722
Definition: nppdefs.h:572
Definition: nppdefs.h:143
size_t nSharedMemPerBlock
Definition: nppdefs.h:800
Npp64f im
Imaginary part.
Definition: nppdefs.h:363
Definition: nppdefs.h:225
Definition: nppdefs.h:562
Definition: nppdefs.h:395
Definition: nppdefs.h:591
Round towards zero (truncation).
Definition: nppdefs.h:548
square root of sum of squares
Definition: nppdefs.h:647
Size of the rectangle region is less than or equal to 1.
Definition: nppdefs.h:208
NppiPoint oContourFirstPixelLocation
image geometric x and y location of the first pixel in the contour
Definition: nppdefs.h:687
Definition: nppdefs.h:583
Definition: nppdefs.h:784
Processed data is corrupted.
Definition: nppdefs.h:204
int x
x-coordinate.
Definition: nppdefs.h:430
Definition: nppdefs.h:495
Npp64f x
x-coordinate.
Definition: nppdefs.h:448
Definition: nppdefs.h:240
Definition: nppdefs.h:147
struct NPP_ALIGN_16 Npp64sc
Complex Number This struct represents a long long complex number.
unsigned int nStreamFlags
Definition: nppdefs.h:803
Number of levels for LUT is less than 2.
Definition: nppdefs.h:202
int width
Rectangle width.
Definition: nppdefs.h:467
int build
Build number.
Definition: nppdefs.h:265
int x
x-coordinate of upper left corner (lowest memory address).
Definition: nppdefs.h:480
Definition: nppdefs.h:563
Definition: nppdefs.h:146
Definition: nppdefs.h:565
NppiRect oBoundingBox
x, y, width, height == left, top, right, and bottom pixel coordinates
Definition: nppdefs.h:652
Definition: nppdefs.h:374
Definition: nppdefs.h:238
struct NPP_ALIGN_16 Npp64fc
Complex Number This struct represents a double floating-point complex number.
struct NPP_ALIGN_8 Npp32sc
Complex Number This struct represents a signed int complex number.
long long Npp64s
64-bit signed integers
Definition: nppdefs.h:281
Definition: nppdefs.h:586
int cellSize
square cell size (pixels).
Definition: nppdefs.h:604
Definition: nppdefs.h:222
Definition: nppdefs.h:224
int major
Major version number.
Definition: nppdefs.h:263
Npp32u nTotalImagePixelContourCount
total number of contour pixels in image
Definition: nppdefs.h:768
Definition: nppdefs.h:589
int Npp32s
32-bit signed integers
Definition: nppdefs.h:279
sign change
Definition: nppdefs.h:634
Definition: nppdefs.h:594
Npp32u nLongestImageContourPixelCount
longest per contour pixel count in image
Definition: nppdefs.h:769
Definition: nppdefs.h:574
Lower bound is larger than upper bound.
Definition: nppdefs.h:219
int minor
Minor version number.
Definition: nppdefs.h:264
NppiInterpolationMode
Filtering methods.
Definition: nppdefs.h:112
Definition: nppdefs.h:383
Divisor is zero however does not terminate the execution.
Definition: nppdefs.h:251
Round according to financial rule.
Definition: nppdefs.h:538
Definition: nppdefs.h:780
The given quadrangle has no intersection with either the source or destination ROI.
Definition: nppdefs.h:254
short fp16_1
Definition: nppdefs.h:79
Npp8u nTest1SouthConnected
Definition: nppdefs.h:762
Unallowable values of the transformation coefficients.
Definition: nppdefs.h:209
Alias name for NPP_RND_ZERO.
Definition: nppdefs.h:549
Provides details of uniquely labeled pixel regions of interest returned by CompressedLabelMarkersUF f...
Definition: nppdefs.h:682
Definition: nppdefs.h:236
2D Rectangle This struct contains position and size information of a rectangle in two space...
Definition: nppdefs.h:478
DC Table.
Definition: nppdefs.h:640
void * pData
device memory pointer to the image
Definition: nppdefs.h:664
NppiSize classifierSize
Definition: nppdefs.h:622
Error free operation.
Definition: nppdefs.h:246
Npp32u nContourPixelCount
total number of pixels in this connected pixel region contour
Definition: nppdefs.h:699
NppiPoint nWest1
Definition: nppdefs.h:755
Npp32f y
y-coordinate.
Definition: nppdefs.h:440
Npp16uc
Definition: nppdefs.h:304
Super sampling.
Definition: nppdefs.h:121
Definition: nppdefs.h:378
Stride is less than the row length.
Definition: nppdefs.h:216
int width
Rectangle width.
Definition: nppdefs.h:482
Definition: nppdefs.h:235
Npp32u nFirstIndex
index of first ordered contour pixel in this subgroup
Definition: nppdefs.h:718
Npp16sc
Definition: nppdefs.h:314
Definition: nppdefs.h:375
short fp16
Definition: nppdefs.h:71
NppiPoint oContourOrderedGeometryLocation
image geometry X and Y location in requested output order
Definition: nppdefs.h:712
Npp8u nContourDirectionCenterPixel
provides current center contour pixel input and output direction info
Definition: nppdefs.h:750
Number overflows the upper or lower limit of the data type.
Definition: nppdefs.h:199
unsigned short Npp16u
16-bit unsigned integers
Definition: nppdefs.h:276
Npp64f y
y-coordinate.
Definition: nppdefs.h:449
NppiNorm
Definition: nppdefs.h:644
NppiContourPixelGeometryInfo oContourPixelGeometryInfo
Definition: nppdefs.h:754
Npp8u nTest1NorthConnected
Definition: nppdefs.h:758
Alias name for NPP_RND_NEAR.
Definition: nppdefs.h:528
NPP stream context structure must be filled in by application.
Definition: nppdefs.h:793
NppRoundMode
Rounding Modes.
Definition: nppdefs.h:515
size_t classifierStep
Definition: nppdefs.h:621
NppiPoint oContourCenterPixelLocation
image geometry X and Y location of center contour pixel
Definition: nppdefs.h:714
Definition: nppdefs.h:382
Npp32f x
x-coordinate.
Definition: nppdefs.h:439
Definition: nppdefs.h:584
Npp32s * counterDevice
Definition: nppdefs.h:623
int histogramBlockSize
square histogram block size (pixels).
Definition: nppdefs.h:605
Definition: nppdefs.h:180
NppiPoint oContourNextPixelLocation
image geometry X and Y location of next contour pixel
Definition: nppdefs.h:715
Npp32s * classifiers
packed classifier data 40 bytes each
Definition: nppdefs.h:620
Definition: nppdefs.h:585
Definition: nppdefs.h:229
Definition: nppdefs.h:582
Definition: nppdefs.h:134
NppiHuffmanTableType
Definition: nppdefs.h:639
NppiSize oSize
width and height of the image
Definition: nppdefs.h:666
short Npp16s
16-bit signed integers
Definition: nppdefs.h:277
Definition: nppdefs.h:133
unsigned int Npp32u
32-bit unsigned integers
Definition: nppdefs.h:278
Anchor point is outside mask.
Definition: nppdefs.h:218
Definition: nppdefs.h:227
signed char Npp8s
8-bit signed chars
Definition: nppdefs.h:275
Definition: nppdefs.h:228
Npp32u nLastIndex
index of last ordered contour pixel in this subgroup
Definition: nppdefs.h:719
unsigned long long Npp64u
64-bit unsigned integers
Definition: nppdefs.h:280
Nearest neighbor filtering.
Definition: nppdefs.h:115
Definition: nppdefs.h:152
Smooth edge filtering.
Definition: nppdefs.h:124
Npp32s nOrderIndex
contour pixel counterclockwise order index in geometry list
Definition: nppdefs.h:716
NppDataType
Data types for nppiPlus functions.
Definition: nppdefs.h:371
Alias name for NPP_RND_FINANCIAL.
Definition: nppdefs.h:539
Illegal channel index.
Definition: nppdefs.h:215
NppiWatershedSegmentBoundaryType
Provides control of the type of segment boundaries, if any, added to the image generated by the water...
Definition: nppdefs.h:778
Default registration position.
Definition: nppdefs.h:132
double Npp64f
64-bit floating-point numbers
Definition: nppdefs.h:283
ZeroCrossing mode not supported.
Definition: nppdefs.h:182
Unsupported round mode.
Definition: nppdefs.h:193
Npp8u nTest1NorthEastConnected
Definition: nppdefs.h:757
Indicates that no operation was performed.
Definition: nppdefs.h:250
The NppiHOGConfig structure defines the configuration parameters for the HOG descriptor: ...
Definition: nppdefs.h:602
int numClassifiers
number of classifiers
Definition: nppdefs.h:619
2D Polar Point
Definition: nppdefs.h:455
Definition: nppdefs.h:650
int nHistogramBins
required number of histogram bins.
Definition: nppdefs.h:606
Two-parameter cubic filter (B=1/2, C=3/10)
Definition: nppdefs.h:120
Indicates that the quadrangle passed to one of affine warping functions doesn't have necessary proper...
Definition: nppdefs.h:252
Npp32u nConnectedPixelCount
total number of pixels in connected region
Definition: nppdefs.h:653
NppsZCType
Definition: nppdefs.h:633
int nMultiProcessorCount
Definition: nppdefs.h:797
Step is less or equal zero.
Definition: nppdefs.h:230
NppiBorderType
Definition: nppdefs.h:560
One of the output image dimensions is less than 1 pixel.
Definition: nppdefs.h:197
float Npp32f
32-bit (IEEE) floating-point numbers
Definition: nppdefs.h:282
maximum
Definition: nppdefs.h:645
Npp32f rho
Definition: nppdefs.h:456
Definition: nppdefs.h:496
Definition: nppdefs.h:145
NppiChannels
Image channel counts for nppiPlus functions.
Definition: nppdefs.h:389
Definition: nppdefs.h:233
int nReserved0
Definition: nppdefs.h:804
Definition: nppdefs.h:498
Definition: nppdefs.h:587
Definition: nppdefs.h:179
Definition: nppdefs.h:396
Definition: nppdefs.h:186
Provides details of contour pixel grid map location and association.
Definition: nppdefs.h:696
NppiAlphaOp
Definition: nppdefs.h:581
Definition: nppdefs.h:766
Npp8u nGeometryInfoIsValid
Definition: nppdefs.h:753
Definition: nppdefs.h:391
Definition: nppdefs.h:564
Npp32u nMarkerLabelID
MarkerLabelID of contour interior connected region.
Definition: nppdefs.h:749
Divisor is equal to zero.
Definition: nppdefs.h:213
All values of the mask are zero.
Definition: nppdefs.h:206
Definition: nppdefs.h:617
Npp32u nContourPixelsFound
total number of pixels in this connected pixel region contour found during geometry search ...
Definition: nppdefs.h:686
Definition: nppdefs.h:177
Definition: nppdefs.h:379
Npp8u nAlreadyLinked
this test pixel is already linked to center pixel
Definition: nppdefs.h:723
NppHintAlgorithm
Definition: nppdefs.h:571
Definition: nppdefs.h:499
Definition: nppdefs.h:181
Generic Lanczos filtering with order 3.
Definition: nppdefs.h:123
Definition: nppdefs.h:135
Npp8u nConnected
direction to directly connected contour pixels, 0 if not connected
Definition: nppdefs.h:752
Definition: nppdefs.h:221
Definition: nppdefs.h:163
Cubic interpolation.
Definition: nppdefs.h:117
2D Point
Definition: nppdefs.h:428
Definition: nppdefs.h:783
Npp32u nContourStartingPixelOffset
base offset of starting pixel in the overall contour pixel list
Definition: nppdefs.h:700
Two-parameter cubic filter (B=0, C=1/2)
Definition: nppdefs.h:119
int nBufferSize
allocated buffer size
Definition: nppdefs.h:673
Definition: nppdefs.h:187
Npp8u nTest1WestConnected
Definition: nppdefs.h:760
struct NPP_ALIGN_8 Npp32fc
Complex Number This struct represents a single floating-point complex number.
Definition: nppdefs.h:588
Definition: nppdefs.h:241
Lanczos filtering.
Definition: nppdefs.h:122
Definition: nppdefs.h:397
short fp16_0
Definition: nppdefs.h:78
The quadrangle is nonconvex or degenerates into triangle, line or point.
Definition: nppdefs.h:207
Successful operation (same as NPP_NO_ERROR)
Definition: nppdefs.h:247
Npp8u nTest1SouthEastConnected
Definition: nppdefs.h:763
2D Npp64f Point
Definition: nppdefs.h:446
Npp8u nContourInteriorDirectionCenterPixel
provides current center contour pixel region interior direction info
Definition: nppdefs.h:751
Npp32f im
Imaginary part.
Definition: nppdefs.h:343
Provides contour (boundary) geometry info of uniquely labeled pixel regions returned by nppiCompresse...
Definition: nppdefs.h:710
Definition: nppdefs.h:162
Number of levels for histogram is less than 2.
Definition: nppdefs.h:201
Definition: nppdefs.h:242
Two-parameter cubic filter (B=1, C=0)
Definition: nppdefs.h:118
Definition: nppdefs.h:261
Npp32s im
Imaginary part.
Definition: nppdefs.h:333
Definition: nppdefs.h:151
Definition: nppdefs.h:381
Definition: nppdefs.h:373
Npp8u nContourInteriorDirection
direction of contour region interior
Definition: nppdefs.h:725
NppiDifferentialKernel
Differential Filter types.
Definition: nppdefs.h:160
int height
Rectangle height.
Definition: nppdefs.h:483