component_output is a class that is used to output processed image components from a pipeline object as separate HDR files in a folder.
If no flags are specified component_output will save all image components defined in scyl::COMPONENTS that are present within the pipeline object to the directory given in the save call. These are (Component, suffix, file):
I : _I, as HDR/data pair size height x width x bands
Illuminant : _illuminant, as HDR/data pair size 1 x 1 x bands
k : _k, as HDR/data pair size height x width x 1
g : _g, as HDR/data pair size height x width x 1
s : _s, as HDR/data pair size height x width x bands
Material Elements : _elements, as HDR/data pair size num_materials x bands
Material Abundances : _abundances, as HDR/data pair size height x width x num_materials
Material Indexes : _indexes, as HDR/data pair size height x width x num_materials
Endmember Abundances : _endabundances as HDR/data pair size num_materials x abund_mat_per_pixel
Endmember Indexes : _endindexes as HDR/data pair size num_materials x abund_mat_per_pixel
Endmembers + Labels : _spectral_library as an slz file.
Otherwise it will save according to given flags, see examples below.
scyl::output * output = scyl::component_output(); // No flags so will attempt to save all image components
pipeline.set_output(output);
pipeline.save("path/to/output001"); // Will save files to directory 'path/to' with prefix 'output001' (e.g. output001_I.hdr, output001_s.hdr etc)
scyl::output * output = scyl::component_output(scyl::I bitand scyl::ELEMENTS); // Flags for I and Elements set, will only save those two.
pipeline.set_output(output);
pipeline.save("path/to/output001"); // Will save files to directory 'path/to' with prefix 'output002' (e.g. output002_I.hdr, output001_elements.hdr)