text: //********************************************************//
  // CUDA SIFT extractor by Marten Bjorkman aka Celebrandil //
  //********************************************************//
  
  #ifndef CUDA_SIFT_SIFT_DEVICE_H
  #define CUDA_SIFT_SIFT_DEVICE_H
  
  #define NUM_SCALES      5
  
  // Scale down thread block width
  #define SCALEDOWN_W   160
  
  // Scale down thread block height
  #define SCALEDOWN_H    16
  
  // Scale up thread block width
  #define SCALEUP_W      64
  
  // Scale up thread block height
  #define SCALEUP_H      8
  
  // Find point thread block width
  #define MINMAX_W      126
  
  // Find point thread block height
  #define MINMAX_H        4
  
  // Laplace thread block width
  #define LAPLACE_W      56
  
  // Number of laplace scales
  #define LAPLACE_S   (NUM_SCALES+3)
  
  // Laplace filter kernel radius
  #define LAPLACE_R       4
  
  #define LOWPASS_W      56
  #define LOWPASS_H      16
  #define LOWPASS_R       4
  
  //====================== Number of threads ====================//
  // ScaleDown:               SCALEDOWN_W + 4
  // LaplaceMulti:            (LAPLACE_W+2*LAPLACE_R)*LAPLACE_S
  // FindPointsMulti:         MINMAX_W + 2
  // ComputeOrientations:     128
  // ExtractSiftDescriptors:  256
  
  //====================== Number of blocks ====================//
  // ScaleDown:               (width/SCALEDOWN_W) * (height/SCALEDOWN_H)
  // LaplceMulti:             (width+2*LAPLACE_R)/LAPLACE_W * height
  // FindPointsMulti:         (width/MINMAX_W)*NUM_SCALES * (height/MINMAX_H)
  // ComputeOrientations:     numpts
  // ExtractSiftDescriptors:  numpts
  
  #endif // CUDA_SIFT_SIFT_DEVICE_H
  