1. A method comprising: accessing, by a computing device, a plurality of images; grouping, by the computing device, the plurality of images into a plurality of sets based on a computed weight for each image in the plurality of images in each set of the plurality of sets at a first hierarchical level; fusing, by the computing device, images of the each set of the plurality of sets at the first hierarchical level to form a higher hierarchical level including a plurality of fused images; continuing, by the computing device, the grouping and the fusing at the higher hierarchical level based on a computed weight for each image in the higher hierarchical level until a single fused image is obtained for each predetermined channel; and fusing, by the computing device, the single fused image for the each predetermined channel to form a final fused image; wherein the single fused image for the each predetermined channel includes an available wavelength bandwidth proportional to a number of fused images in the single fused image for the each predetermined channel and a total wavelength bandwidth of the single fused image.