ENVI's implementation follows the reference fairly well.
http://www.exelisvis.com/docs/Backgro...
At least 10 unique endmembers must exist in the dataset to provide good results.
A vegetation filter is applied which uses an NDVI transform.
The baseline is calculated on the minimum values in each band.
Some outliers are removed that are very low in radiance (water/shadow) or very high (saturated) prior to baseline estimation.