C++ exception for bob.core.convert in MaximumCurvature.py and RepeatedLineTracking.py
Running baseline fingervein experiment on Verafinger database using FingerCrop extractor with the Histogram Equalization post-processing option and the Maximum Curvature or Repeated Line Tracking extractor, the following type of error occurs:
RuntimeError: convert: C++ exception caught: 'src[13,277] = 63.369219 is above the maximum 1.000000 of input range'
This is a result of the following two lines of code in bob.bio.vein.extractor.MaximumCurvature and bob.bio.vein.extractor.RepeatedLineTracking:
if finger_image.dtype != numpy.uint8: finger_image = bob.core.convert(finger_image,numpy.uint8,(0,255),(0,1))
This is, in turn, is due to the new version of the "HE" function in FingerCrop, which rescales the intensities of the histogram equalized preprocessed fingervein images to the range (0, 255):
retval = rescale_intensity(equalize_hist(image, mask=mask), out_range = (0, 255))
The aforementioned two lines of code in MaximumCurvature.py and RepeatedLineTracking.py are thus not necessary.