DM-25447 I discovered that a read-only Filter component for Exposure can't work because the information is derived from metadata that is stripped and a Filter can not be persisted since Filter.writeFits is broken.
I propose that we write a very simple formatter that bypasses the FITS persistence system and simply writes a yaml file that includes the filter information. On read it will translate the filter name to a Filter object by looking it up in the filters singleton. This can then be set in the exposure using setFilter.
This will turn filter into a normal component and should be quick to implement.