Hi everyone
I set the Canon frame size to 5208x3476 but as soon as I open the capture module, it sets it to 5184x3456. Even if I edit the esq file with 5208x3476, I still get the lover values...
1. What is the correct setting and how do I make it stick?
2. Can I take CR2 frames in camera (e.g. flats) and then convert them to the fits I get fro kstars?
Thanks
The full chip size is indeed 5208x3476 but some of the pixels are not used for imaging. The true FOV is 5184x3456 pixels. Have a look at the Aspect Ratio and Specifications sections of the manual of your Canon DSLR camera (at least, that's where it is specified in case of my Canon EOS 700D == Canon Rebel T5i camera) . There the used frame sizes are specified.
By the way, I guess that the overhead pixels are used as a buffer during read out of the chip but I am not 100% sure.
As for question 2) for image processing it is much better to make sure that all frames (i.e. Light, Dark, Flat and Bias) are in the same format. Ekos can record FITS and Native where Native will result in CR2 files in case of a Canon camera. It is possible to specify which you prefer in the CCD options panel. Don't forget to save the options after you make a change or else they will not stick.
The hack that Copello suggested did work perfectly for me. Taking CR2 flats would be convenient to me since I could do it without having the cam connected to the computer/Ekos. Instead I resorted to not taking any flats at all.
// cdesc contains counter-clock wise e.g. RGBG CFA pattern while we want it sequential as RGGB
bayer_pattern[0] = RawProcessor.imgdata.idata.cdesc[0];
bayer_pattern[1] = RawProcessor.imgdata.idata.cdesc[1];
bayer_pattern[2] = RawProcessor.imgdata.idata.cdesc[3];
bayer_pattern[3] = RawProcessor.imgdata.idata.cdesc[2];
bayer_pattern[4] = '\0';
int first_visible_pixel = RawProcessor.imgdata.rawdata.sizes.raw_width * RawProcessor.imgdata.sizes.top_margin + RawProcessor.imgdata.sizes.left_margin;
One can see that the actual image size is smaller (the first visible pixel does not start at 0), but many pixel later.
There is a nice explanation in the LibRaw forum why that happens: In summary
So some portion of pixels are masked out, thus the actual size is slightly smaller.