Hyperspectral data is often used to determine what materials are present in a scene. Materials of interest could include roadways, vegetation, and specific targets (i.e. pollutants, hazardous materials, etc.). Trivially, each pixel of a hyperspectral image could be compared to a material database to determine the type of material making up the pixel. However, many hyperspectral imaging platforms have low resolution (>5m per pixel) causing each pixel to be a mixture of several materials. The process of unmixing one of these 'mixed' pixels is called hyperspectral image unmixing or simply hyperspectral unmixing. There is an R package for this purposes however, the already implemented methods N-FINDR and VCA make one crucial assumption: they assume the presence of pure spectra of all components are available somewhere in the data. Obviously, while this assumption is reasonable for some applications, other applications exist where this assumption should not be relied on. ICE algorithm does not need to have pure component spectra for the endmembers in the presented data. Vignettes are also required to provide datailed explainitaions of algorithms and examples.