-
Notifications
You must be signed in to change notification settings - Fork 20
Why is the D1X explicitely disabled? #23
Comments
The reason, as I remember it is, that it basically gives a different result than dcraw. I want to minimize the difference between them, and since it (even at the time I started writing RS) is a very old camera, I just decided to ignore it than spend too much time on it, since Nikon luckily dropped that path of development. |
The result it gives is what's in the file, a half height image that needs to be scaled up after demosaic. dcraw does that upscale. I don't think rawspeed does any demosaic itself, and if it does, at least darktable certainly doesn't use it, so it's usually up to the app to scale up the image. rawspeed should definitely provide the app with the metadata it needs to apply the operation. We need to think of an interface to do this as it's also an issue with the fuji cameras that need rotation after demosaic. I suppose adding that info to cameras.xml and providing it through the existing metadata interface would be our best bet. |
There are a lot of D1X files in archives. The same thing with some very old Kodak files (DC50 or DC120, cannot remember). But the image is compressed in horizontal direction. |
@LibRaw I assume you mean decode the raw data and pass on the metadata on what to do to it after demosaic (2x scale up in this case). That's the only thing you can do when the app wants the raw bayer data and not a RGB image. |
I agree. The only way to deal with bayer-processing upper layer is to return bayer array as-is and provide aspect ratio data for use after demosaic. |
Should be fixed with #49 |
The Nikon D1X is set as supported="no" in cameras.xml. I had a look and it seems it works fine. The only problem with it appears to be that the sensor has non-square pixels so to get a proper image it needs to be scaled 2x on the y dimension:
http://www.dpreview.com/reviews/nikond1x/
That scaling needs to happen after all the raw processing and demosaic. So from the point of view of raw processing rawspeed is already doing the right thing. Indeed in darktable the image already appears properly (but unscaled) with rawspeed and a broken purple with libraw. Shouldn't it be the app's responsibility to scale the image after processing. I guess rawspeed could help by providing the metadata for the needed scaling but not much more.
The text was updated successfully, but these errors were encountered: