The aim of this project would be to bring ghost removal techniques to the enfuse tool.
Current deghosting code will be completely refactored. My idea is to create abstract base class with defined interface for:
- adding one or more images (It should allow loading both color images and luminance images based on image names)
- adding one or more luminance images (will have to be in the same order as the loaded images id the names are no corresponding)
- setting optional flags to the algorithm (by using bits in integer number so it will not be dependent on how many parameters there are so it will be easier to add new deghosting algorithms)
- generating weight mask for HDR merging (used in hugin_hdrmerge)
- generating weight mask for enfuse if it's not possible to do it by different approach
Possible approaches of how to implement deghosting to enfuse:
- use the weight mask based on luminance images and do the difference between it and the input luminance image
- use weights generated by enfuse instead of luminance images
- something other?