Image Processing Toolbox

GPU programming on MATLAB toolboxes

Nikolaos Ploskas , Nikolaos Samaras , in GPU Programming in MATLAB, 2016

v.2 Image Processing Toolbox

The Image Processing Toolbox provides a set of functions and applications for image processing, analysis, and visualization. There are many functions bachelor for image analysis, image sectionalization, epitome enhancement, noise reduction, geometric transformations, and prototype registration. Moreover, many functions support multicore and multiprocessor CPUs, and GPUs.

The Prototype Processing Toolbox supports a wide variety of image types, including loftier dynamic range, gigapixel resolution, embedded ICC profile, and tomographic. Visualization functions allow users to explore images and videos, examine a region of pixels, adapt color and contrast, create contours or histograms, and manipulate regions of interest.

The Paradigm Processing Toolbox provides many GPU-enabled functions. To perform an image processing functioning on a GPU, you can apply the following steps:

Transfer data, for example, an prototype, from the CPU to the GPU by creating gpuArray objects.

Perform the image processing operation on the GPU either by using the GPU-enabled functions that accept a gpuArray object or by performing chemical element-wise or pixel-based operations on a GPU using arrayfun and bsxfun.

Transfer data back to the CPU from the GPU using the get together office.

As of MATLAB R2015b, Tabular array v.i lists all the Image Processing Toolbox functions that have been enabled to run on a GPU. Almost functions support the same syntax and operate the same on the CPU and GPU, but in some cases there are some limitations when evaluating them on the GPU. The tertiary cavalcade of Table 5.1 lists these limitations.

Table 5.1. GPU-enabled functions on the Image Processing Toolbox

Part Description Remarks/Limitations
bwdist Compute the distance transform of a binary image. Inputs must exist 2-D and accept less than 232 − 1 elements. Euclidean is the simply distance metric supported.
bwlabel Calculate label connected components on a 2-D binary image.
bwlookup Perform nonlinear filtering using lookup tables.
bwmorph Employ morphological operations on a binary image.
corr2 Calculate the 2-D correlation coefficient of two arrays.
edge Notice edges in an intensity image. Canny method is not supported on the GPU.
histeq Enhance contrast using histogram equalization.
im2double Convert image to double precision.
im2single Convert epitome to unmarried precision.
im2uint8 Convert image to 8-chip unsigned integers.
im2uint16 Catechumen prototype to 16-bit unsigned integers.
imabsdiff Compute the absolute difference of two images. Simply single and double are supported.
imadjust Adjust image intensity values or colormap.
imbothat Perform morphological bottom-hat filtering. gpuArray input must be of type uint8 or logical and the structuring element must be flat and ii-dimensional.
imclose Perform morphological endmost on an prototype. gpuArray input must be of type uint8 or logical and the structuring element must be flat and two-dimensional.
imcomplement Compute the complement of an image.
imdilate Dilate an image. gpuArray input must be of type uint8 or logical and the structuring element must exist flat and two-dimensional. The PACKOPT syntaxes are not supported on the GPU.
imerode Erode an image. gpuArray input must be of blazon uint8 or logical and the structuring element must be flat and two-dimensional. The PACKOPT syntaxes are non supported on the GPU.
imfill Fill epitome regions and holes. Inputs must be 2-D, supporting only the ii-D connectivities, 4 and viii. Does not support the interactive pigsty filling syntax.
imfilter Filter multidimensional images. Input kernel must be 2-D.
imgradient Calculate the gradient magnitude and direction of an image.
imgradientxy Compute the directional gradients of an image.
imhist Calculate the histogram of an image. When running on a GPU, imhist does not display the histogram. To brandish the histogram, use stem(X,counts).
imlincomb Computes the linear combination of images.
imnoise Add together noise to an image.
ycbcr2rgb Convert YCbCr colour values to RGB colour space.
imopen Perform morphological opening on an image. gpuArray input must be of blazon uint8 or logical and the structuring element must exist flat and two-dimensional.
imreconstruct Perform morphological reconstruction of an epitome.
imregdemons Estimate the deportation field that aligns two 2-D or 3-D images. The parameter 'PyramidLevels' is not supported on the GPU.
imresize Resize an prototype. But cubic interpolation is supported on GPU, and function always performs antialiasing.
imrotate Rotate an image. The 'bicubic' interpolation mode used in the GPU implementation of this function differs from the default (CPU) bicubic mode. The GPU and CPU versions of this function are expected to give slightly dissimilar results.
imshow Brandish an image.
imtophat Perform morphological acme-hat filtering. gpuArray input must exist of blazon uint8 or logical and the structuring chemical element must exist flat and two-dimensional.
iradon Perform the inverse Radon transform. The GPU implementation of this function supports only Nearest-neighbor and linear interpolation methods.
mat2gray Convert a matrix to a grayscale image.
mean2 Compute the average or mean of matrix elements.
medfilt2 Perform 2-D median filtering. Padding options are non supported on the GPU.
normxcorr2 Compute the normalized 2-D cross-correlation of ii arrays.
padarray Pad an array.
radon Perform the Radon transform.
rgb2gray Convert an RGB epitome or colormap to grayscale.
rgb2ycbcr Convert RGB color values to YCbCr color infinite.
std2 Calculate the standard deviation of matrix elements.
stdfilt Compute the local standard difference of an image.
stretchlim Find the limits to a dissimilarity stretching image.

Case: Computed tomography prototype reconstruction

The inverse Radon transform is mostly applied in image reconstruction from an object's back projections. The projections are commonly generated past cantankerous-sectional scans of the object. Computed tomography scans are an case of the aforementioned method, where X-rays are used to projection the body structures, which cake or attenuate the beams.

On the opposite, the Radon transform creates the objects, dorsum projections, by integrating a function, called indicator or characteristic office, over straight lines. In computed tomography scans, the indicator function is the attenuation coefficient'south function.

In the following example, we obtain the back projections of an image in specific angles, and so nosotros try to reconstruct the original image. The steps used are as follows:

(1)

Calculate dorsum projections, 1 per degree, for half a circle, using the Radon transform.

(2)

Calculate back projections, 1 per 15 degrees, for half a circle, using the Radon transform.

(3)

Calculate the changed Radon transform for both cases. We utilise a Hann window to avoid the blurriness of the reconstructed image.

Function ctImageReconstruction (filename: ctImageReconstruction.Grand) is used to illustrate the preceding example in MATLAB.

Initially, we measure the execution time of this function running on the CPU using a two, 000 × 2, 000 phantom image:

To execute this part on the GPU, we do non have to perform whatever changes to the code because all functions and operators used are GPU-enabled. The only difference is that nosotros should pass a gpuArray as input to that function. We measure the execution time of this function running on the GPU using the same image:

Hence, the computed tomography image reconstruction part is running ∼12.thirty × faster on the GPU.

Fig. 5.7 shows the result of the computed tomography image reconstruction part for the two different angle steps theta = one degree and theta = 15 degrees.

Fig. 5.vii. Outcome of the computed tomography epitome reconstruction role.

Read full chapter

URL:

https://www.sciencedirect.com/scientific discipline/article/pii/B9780128051320000059

Conclusion

Anand Krishna Asundi , in MATLAB® for Photomechanics- A Primer, 2002

The MATLAB® Image Processing Toolbox that provides functions ( Appendix C) and tools for enhancing and analyzing digital images and developing image-processing algorithms is a growing role of the MATLAB® bundle. It farther simplifies the learning and teaching of paradigm processing techniques in both academic and inquiry settings. The major focus of this toolbox is targeted towards medical and biological application using image enhancement and edge detection, blob and morphological analysis and partitioning and epitome deblurring functions. Details of these functions and demos are available and updated at the Mathworks website (http://www.mathworks.com).

Read total chapter

URL:

https://www.sciencedirect.com/science/commodity/pii/B9780080440507500550

A cognitive perception on content-based paradigm retrieval using an advanced soft computing epitome

K. Martin Sagayam , ... Omer Deperlioglu , in Advanced Machine Vision Paradigms for Medical Prototype Analysis, 2021

4 Experimental results

A figurer with an Intel core i5 processor has been used for conducting the experiments. The user-interface components with database of medical images serve every bit the frontier. MATLAB R2013a image-processing toolbox workspace was used as the feature database for storage and image processing work. Other MATLAB 8.1.0604 utilities were used for equations. Initially, the MATLAB 8.1.0604 database with 1500 medical images was used for testing the proposed CBMIR arrangement. These images were acquired without any merging artifacts. No toolkit has been used and an like shooting fish in a barrel understanding and representation is possible with a limited number of images. If a physician, when diagnosing a patient gets a new result, wishes to retrieve the previous ane from the database visually similar images that have been already prediagnosed volition be able to do merely that. The important role will be the experimental setup. The results taken are shown adjacent, proving the effectiveness of the experimental setup.

Nosotros have conspicuously mentioned our results from Tables 7.v through 7.10 forth with Figs. vii.3 through 7.five for meliorate understanding.

Table 7.5. Retrieved esult of colored images.

Color-based feature extraction Relevant prototype Irrelevant image Bodily paradigm Time taken for retrieval in seconds
CCM x 8 2 vi
Histogram with feature extraction nine 6 iii 5

Table 7.6. Calculation of retrieved functioning of colored images.

Color-based feature extraction Precision Recall Efficiency Mistake rate
CCM 55 thirty fifty 85
Histogram with feature extraction 68 40 65 20

Tabular array 7.seven. Retrieved outcome of texture-based retrieved images.

Texture-based characteristic extraction Relevant image Irrelevant image Actual image Time taken for retrieval in seconds
GLCM 12 6 3 4
LBP eight 10 4 5

Table 7.viii. Calculation of retrieved performance of texture-based retrieved images.

Texture-based feature extraction Precision Recall Efficiency Error rate
GLCM 50 thirty 45 30
LBP 25 x 35 50

Tabular array vii.ix. Retrieved upshot of shape-based retrieved images.

Texture-based feature extraction Relevant image Irrelevant image Actual image Time taken for retrieval in seconds
CANNY Border with OTSU'south method 10 7 4 6

Table seven.10. Calculation of the retrieved functioning of shape-based retrieved images.

Texture-based feature extraction Precision Recall Efficiency Mistake rate
CANNY EDGE with OTSU'southward method 45 30 40 25

Figure 7.iii. Retrieval procedure using GLCM-based feature extraction.

Effigy vii.4. Retrieved using LBP (local binary pattern); the outset image is the common query image for GLCM every bit well as LBP.

Figure 7.5. Retrieved using CANNY Border by OTSU's method with the query image being on tiptop.

Read total chapter

URL:

https://world wide web.sciencedirect.com/science/article/pii/B978012819295500007X

Introduction

Nikolaos Ploskas , Nikolaos Samaras , in GPU Programming in MATLAB, 2016

1.5 Our Arroyo: Organisation of the Book

The telescopic of this book is twofold. First, the reader will larn all features that are provided through the Parallel Computing Toolbox and other MATLAB toolboxes for GPU calculating. This will allow the reader to implement straightforwardly his/her applications on GPUs without special knowledge about GPU programming. This part of this book volition embrace concepts about GPU-enabled congenital-in MATLAB functions, chemical element-wise operations on GPUs, and taking reward of multiple GPUs on a multicore motorcar or on different machines, amid others. Finally, the reader volition obtain more advanced cognition by utilizing CUDA C/C++ code in MATLAB or by profiling and optimizing his/her GPU applications.

The main emphasis of this volume is given on two aspects:

The features that MATLAB inherently provides for GPU programming. This part is divided on three parts:

(ane)

GPU-enabled MATLAB built-in functions that crave the existence of the Parallel Computing Toolbox.

(ii)

Element-wise operations for GPUs that do not crave the existence of the Parallel Computing Toolbox.

(three)

GPU-enabled MATLAB functions on several toolboxes other than Parallel Computing Toolbox, like Communications System Toolbox, Image Processing Toolbox, Neural Network Toolbox, Phased Array System Toolbox, Signal Processing Toolbox, and Statistics and Machine Learning Toolbox.

Linking MATLAB with CUDA C/C++ codes either when MATLAB cannot execute an existing piece of code on GPUs or when you lot want to utilise highly-optimized CUDA-accelerated libraries.

The primary target group of this book is

Undergraduate and postgraduate students that take a course on GPU programming and want to use MATLAB to exploit the parallelism in their applications.

Scientists who develop or maintain applications in MATLAB and would like to accelerate their codes using GPUs without losing the many benefits that MATLAB offers.

Engineers that want to accelerate their computationally intensive applications in MATLAB without the need to rewrite them in another language, like CUDA C/C++ or CUDA Fortran.

The readers of this book have some or a lot of feel on MATLAB coding, but they are not familiar with parallel architectures. Some advanced features, like CUDA kernels and MEX files, covered at the end of this book are only for those that are familiar with CUDA C/C++.

Note that this book is dealing only with GPU programming in MATLAB. Nosotros also make a cursory introduction on MATLAB'south parallel capabilities through its Parallel Computing Toolbox and nowadays some tips to tune MATLAB's performance, but nosotros exercise not intend to encompass these topics in depth. There are several good books that cover parallel programming and performance tuning features in MATLAB [6–8].

The rest of this volume is organized every bit follows. Affiliate 2 presents the software and hardware needed for GPU programming in MATLAB. Installation steps are presented for Windows, Linux, and MAC users.

In Chapter 3, the Parallel Calculating Toolbox is presented. More specifically, the reader tin get the whole motion-picture show of MATLAB's parallel capabilities through its Parallel Computing Toolbox. Representative didactical examples are given on each department of this chapter.

Chapter 4 covers one of the near important topics of this volume, the inherent GPU programming features that MATLAB provides. More than specifically, Chapter 4 introduces the GPU arrays, arrays that are stored on GPUs. These arrays tin be used in computations past built-in MATLAB functions for GPUs and element-wise MATLAB operations. Chapter 4 includes a variety of examples, both didactical and real-world examples.

Affiliate 5 aims to explore GPU-enabled MATLAB functions on several toolboxes other than the Parallel Computing Toolbox, like the Communications Organisation Toolbox, Paradigm Processing Toolbox, Neural Network Toolbox, Phased Array Organization Toolbox, Signal Processing Toolbox, and Statistics and Machine Learning Toolbox. Chapter 5 presents the GPU-enabled functions on these toolboxes with a variety of real-world examples.

Chapter 6 covers a hot topic nearly utilizing multiple GPUs. Affiliate 6 presents the utilise of multiple GPUs both on a multicore automobile and on dissimilar machines. Multiple GPUs are used to ameliorate the performance on task- or data-parallel codes and when working with data that cannot fit in the memory of a single GPU. Affiliate half-dozen includes a variety of examples, both didactical and existent-world examples.

Chapter vii explains how to create an executable kernel for a CUDA C/C++ code or PTX code and run that kernel on a GPU by calling it through MATLAB. The steps to create and run an executable kernel for a CUDA C code or PTX code are covered. Moreover, a cursory introduction of CUDA C is presented. Furthermore, 2 classic examples, vector add-on and matrix multiplication, are presented.

Chapter eight explains how to create a MATLAB MEX file that contains CUDA code and run it on a GPU by calling it through MATLAB. The steps to create and run a MATLAB MEX file that contains CUDA code are covered. Furthermore, ii classic examples, vector addition and matrix multiplication, are presented.

Chapter ix presents the CUDA-accelerated libraries cuBLAS, cuFFT, cuRAND, cuSOLVER, cuSPARSE, NPP, and Thrust, that are incorporated into CUDA Toolkit. These libraries provide highly optimized algorithms that can be incorporated into MATLAB applications through MEX files. Examples are presented for each library.

Affiliate x presents ii avant-garde topics for ameliorate utilization of GPUs on computationally heavy applications: (i) profiling a code running on GPUs, and (ii) improving GPU functioning. Didactical examples are given in this chapter for the reader to understand these topics. Moreover, best practices that you should follow to meliorate GPU operation are discussed in detail.

Read total chapter

URL:

https://www.sciencedirect.com/scientific discipline/article/pii/B9780128051320000011

MATLAB® for Photomechanics (PMTOOLBOX)

Anand Krishna Asundi , in MATLAB® for Photomechanics- A Primer, 2002

2.4 Conclusion

MATLAB® has standard functions for image acquisition, preprocessing and post-processing. While the pre-processing might not always work for fringe patterns, which have slightly unlike structures than conventional images the image input/output and post-processing functions can be used every bit provide with the MATLAB® package. Indeed the improvements in the Prototype Processing Toolbox would amend these functions with each new upgrade.

The chief processing functions are what are specific to photomechanics. MATLAB® allows a fast approach to comparison the different methods available for fringe processing. The Fractional Fringe Method is a useful tool if only part of the epitome or singe lines in the epitome need to be candy. The method, however, requires the user to be very familiar with the fringe pattern, as significant interaction is required in the processing. The Fourier Transform Method is a standard function in MATLAB every bit is the correlation office. However, the stages following these processing are crucial in MATLAB. For instance, in the Fourier Transform Method, the size and shape of the window selected in the transform plane prior to determining the inverse transform is vital. MATLAB tin exist used to test out the diverse windows and select one well-nigh suitable for the user's awarding. Finally, the stage shifting method is very specific to photomechanics and different expressions are available depending on the number of phase shifted images that are used. Finally, phase unwrapping is essential for both the Fourier Transform Method and the Phase Shift Methods. Once again, while MATLAB® has a part for unwrapping, the numerous schemes available in literature give the user a wide pick. These schemes, all the same, accept not been presented in the MATLAB® demonstrations above, but can be readily implemented.

Read full affiliate

URL:

https://world wide web.sciencedirect.com/science/article/pii/B9780080440507500501

Wavelets in Chemical science

Due south.G. Nikolov , ... H. Hutter , in Data Handling in Scientific discipline and Technology, 2000

10 Computation and wavelets

All computations were performed on Pentium II PCs, running Windows 95/98/NT, or on a Silicon Graphics (SGI) Power Challenge L computer and an SGI O2 computer, running IRIX half-dozen.two. A number of standard MATLAB [13 ] toolboxes, e.g. the Statistics Toolbox, the Epitome Processing Toolbox, and the Fuzzy Logic Toolbox, were used to obtain some of the results in this affiliate. Several wavelet toolboxes for MATLAB were likewise used, including WaveLab [81] and WaveBox [82]. In addition, the Wavelet Workbench [83] toolbox for IDL, which is actually WaveLab ported to IDL, and the Wavelet Fusion Toolbox for IDL [84], were used to do some of the calculations on SGI computers. The SOM package [85], originally written by Teuvo Kohonen and co-workers, was ported to Windows by the authors and used to classify some of the images. A library of functions for adding of scatter diagrams and statistical measures was written by the authors. Some of the figures in this chapter were generated past ii image processing programs, due east.g. MIE [86] and X-image [87], which were developed by the authors. Some of the filtering algorithms were implemented in C and C++ as stand-alone programs. The quantisation and entropy coding algorithms, used for the wavelet pinch of ii-D and three-D SIMS images, were adjusted from the Wavelet Paradigm Compression Construction Kit written by Geoff Davis. Finally, the wave2 programme [88], developed by Mallat et al., was used on SGI machines to compute the wavelet transform maxima (multiscale edges) of the SIMS and EPMA images presented in this study.

Various female parent wavelets, due east.g. Haar, Daubechies four, 6, eight, 12 and xx, Symmlet half dozen and 8, Coiflet 2 and 3, Villasenor 1 to 5 and Antonini, spline wavelets, and different levels of decomposition, were employed in the computations.

Read total chapter

URL:

https://world wide web.sciencedirect.com/science/commodity/pii/S0922348700800453

Quality Evaluation of Strawberries

Masateru Nagata , Jasper G. Tallada , in Computer Vision Technology for Food Quality Evaluation, 2008

iii.4 Hyperspectral imaging for bruise detection

3.4.1 Hyperspectral imaging set-upwards and analysis of data

A consequent VIS/NIR hyperspectral imaging study based on a Varispec liquid crystal tunable filter (LCTF, Cambridge Enquiry and Instrumentation, Inc., Woburn, MA, United states) was carried out to identify specific wavelengths and evaluate several judgment algorithms for the detection of bruises on strawberries (Nagata et al., 2006). Some 120 Akihime strawberries at 2 levels of ripeness were carefully obtained. On the fruits, some half dozen levels (0 to three North) of bruising were controllably applied using a universal testing car as shown in Figure eleven.12 (STA-1150; Orientec Corporation, Japan).

Figure 11.12. The Orientec STA-1150 universal testing auto comprised the bruising set-up for a strawberry using a 25-mm diameter ball tip (inset).

Spectral images were caused using an Apogee AP2E 14-bit monochrome CCD camera (Apogee Instruments, Inc., Auburn, CA, USA) with the CRI VIS/NIR Varispec LCTF (650 to 1100 nm with 10-nm FWHM bandwidth; Cambridge Enquiry and Instrumentation, Inc., Woburn, MA, USA). Lighting was provided by a Dolan–Jenner Fiberlite PL950 quartz tungsten-halogen light source (Dolan–Jenner Industries, St. Lawrence, MA, USA) that had smooth emission in the NIR range. The entire system was placed in an air-cooled (22°C) and calorie-free-tight bedroom (Figure 11.13).

Figure 11.13. The VIS/NIR hyperspectral imaging set-up: (a) Apogee AP2E photographic camera; (b) Nikkor lens; (c) CRI Varispec liquid crystal tunable filter; (d) libation exhaust; (east) Dolan–Jenner Fiber-Lite light source; (f) Varispec controller box; (g) sample stage.

Using MATLAB version half dozen.5 and its Image Processing Toolbox (The Mathworks, Inc., Natick, MA) for all prototype-processing tasks, viii-bit mask images were derived from the 980-nm spectral images and used to manually marking off bruised and non-bruised pixels of tissues for all the fruits ( Figure 11.14).

Figure 11.fourteen. Pictorial diagram of hyperspectral image data acquisition and analysis for identification of optimal wavelengths for bruise detection on strawberries.

Spectral data were obtained from flat-field corrected images automatically, employing an image-processing script and using the following equation:

(11.3) I n o r m ( x , y ) = I s a g p fifty e ( x , y ) I d a r k ( x , y ) I r eastward f e r eastward n c e ( x , y ) I d a r k ( x , y ) . grand

where Inorm (10, y), Isampie (x, y), Ireference (x, y), and Idark (ten, y) are the flat-field corrected, sample, reference, and dark images, respectively, for a pixel at location coordinates (x, y); m is a factor based on the mean diffuse reflectance of the reference panel for the Spectralon console having 99 percent reflectance (SRT-99-050, Labsphere, Inc., North Sutton, NH), which was assumed to be 1.0 for simplicity.

iii.4.2 Results of bruise detection

The plot of the relative reflectance spectra illustrated in Figure 11.fifteen shows a strong assimilation at about 675 nm owing to chlorophyll, and at effectually 960–980 nm owing to moisture. Past using stepwise linear discriminant analysis, optimal wavelengths were selected at 825 and 980 nm that were consequently used by the three trample judgment algorithms, namely linear discriminant assay (LDA), normalized difference (ND), and back-propagation iii-layer architecture bogus neural network (ANN). The 825 nm wavelength was close to the height of the spectra that may have provided a reference wavelength for the computations. The 980 nm wavelength was probable selected because of the increased and localized absorption of light at this wavelength by the expelled water from bruised tissues.

Figure 11.15. Spectra of bruised and non-bruised strawberry fruit tissues at different ripeness levels.

Figure 11.sixteen shows an example of judgment using the 3 methods, with ANN covering the widest surface area of detected bruising, followed by the ND method. The three methods had like patterns of performance, with ANN giving the best classification accuracy. Notwithstanding, the ND method was plant to be more attractive because of its robustness and simplicity of implementation in an on-line system. The written report had also identified thresholds of 1.0–1.5 Due north for the seventy–80 pct ripe and 0.5–1.0 Due north for the fully-ripe strawberries. The study likewise demonstrated that the detected extent of the hobbling surface area decreased considerably with storage time, peradventure due to some changes occurring in the tissues – such as re-absorption of expelled cellular materials by tissues adjacent to the bruised areas on the fruit.

Figure 11.16. Bruises on a strawberry fruit sample detected using 3 methods of judgment on a 70–eighty% ripe strawberry receiving a two.0-N bruising force: (a) original; (b) results by linear discrimnant analysis; (c) results by normalized deviation method; (d) results by using bogus neural network.

3.iv.3 Detection of fecal contamination

Increasing concerns regarding the safety of food prompted authorities at the Nutrient and Drug Administration in the Usa to recall, in 1997, a major shipment of strawberries scheduled for a schoolhouse lunch program, when an association with an outbreak of hepatitis A virus was suspected (GAO, 2000). Fecal contagion of fruit is a major concern in the U.s.a. because of the open up-field method of cultivation of strawberries. Vargas et al. (2004) reported a fluorescence imaging study to detect fecal contagion on strawberries at 1: 10, ane: l, and 1: 100 dilution levels. A hyperspectral imaging system that was capable of both fluorescence and reflectance modes was used. It had a Specim Imspector v1.7 spectograph (Spectral Imaging Ltd., Oulu, Finland) with sensitivity ranging from 425 to 951 nm. An ultraviolet-A fluorescent light source, which was short-laissez passer filtered through a UG1 Schott Glass filter, provided excitation for fluorescence. Fecal contaminants were noticeable at 680 nm, which is well known for fluorescence emission caused by chlorophyll a. A greater comeback in the contrast of contaminants was achieved by obtaining the ratio of images at 680 nm to the images at 745 nm.

Read total affiliate

URL:

https://www.sciencedirect.com/science/article/pii/B9780123736420500144