Trying to figure out how to use pixel shift from A7CR

With the Sony A7CR camera set to pixel shift 16 picture mode, the camera stores 16 RAW files.
I do not have a windows or a mac computer, so I can’t run Sony’s software, so I can’t use that to process the pixel shift RAW files.
Is there a way to tell RawTherapee that a group of RAW files is a pixel shift set? If there is, I have not found a way to do it.
The stuff I did find from several hours of googling implies that I might have to process the files with Sony’s software first which is not possible on Linux.
Is there any software on Linux that can do the necessary processing if in fact it is necessary?

Hi, you can try GitHub - agriggio/make_arq: A command-line tool for generating Sony A7RIII Pixel-Shift ARQ files
I’m not sure it supports that specific camera model out of the box, but it can be extended if that’s not the case.


Wow, that was a complicated installation. Unfortunately, it does not work. I got the following error message: ERROR: camera SONY ILCE-7CR not supported (must be one of FUJIFILM GFX 100, FUJIFILM GFX100S, SONY ILCE-1, SONY ILCE-7RM3, SONY ILCE-7RM4, SONY ILCE-7RM4A, SONY ILCE-7RM5)

Is this really necessary? Is there no other way to tell rawtherapee that a set of 16 RAW files is a pixel shift set?

Took me a while, but I just realized that you are the author of that program. What is the likelihood that you will update that to support the A7CR? Do you need anything from me to do it? I really hope you don’t need the 16 130 MB RAW files from the camera, but I will upload them if necessary.

Hi, well I could do without the files, but then I wouldn’t have a way of testing whether it works as intended… if you could upload the files somewhere, it would be great.

Do you have a preferred place I could upload them? Could I upload them here? The image I have digitized is a 2’ square negative from a nasa lunar orbiter from the 60’s, so I believe it is public domain.

You can use Google drive,.Dropbox or something like that. I’m not sure uploading directly here is a good idea


I put the files in google drive
Let me know if you have trouble with them.
I’m not sure this is a great pixel shift set I could not figure out how to enable pixel shift using my phone to control the camera, so I ended up using the trigger on the camera itself without any delay to initiate the photo, so the first image may suffer from some camera shake. Also, the negative was not quite flat on the light table. This picture is mostly a path finder as I work out how to digitize these negatives.

1 Like

Hi, I tried to download but I get an access denied. Maybe you forgot to make the files public?

My first time using google drive, so I don’t really know what I am doing with it. I have changed the directory to allow anyone with the link to access it.
Hmm, the link it gives now is slightly different. Let me know if this one works.

It works now, thanks! I’ve just updated the code, now it should work.


Thank you for the update. Your program runs now, and creates an output file, but unfortunately, when I import the resulting file into RawTherapee, the resulting image appears to be 1/8 sized random parts of the image stacked on top of each other. The original image is black and white, but the resulting image is mostly red. There is a good chance I’m doing something wrong here, but I don’t know what.

A suggestion to make your program a bit easier to use: Is it possible to just give your program the name of the first file and have it increment the number in the file name so one does not have to type out 16 file names for each image?

It might be that rawtherapee needs to be updated as well, I don’t know. Fwiw it works with art, though I don’t remember what I had to do to support 16-shot ps files, sorry.
About usability: what you want sounds like something better suitable for a shell script imho.


I am replacing all the files on google drive with ones that were taken with the correct exposure and aperture for maximum resolution and dynamic range. I am also adding the output file from make_arq. When the upload is complete (in about an hour and a half), I’ll create a new thread asking for one of the RawTherapee developers to have a look and see if they can tell what is going wrong.

Thanks for you help.

scripts are really ugly programming languages, python is a bit less ugly, but I am not familiar with it. I took a look at your code, but could not figure out how to modify it to handle creating its own list of file names from a single one, so I wrote a short snippet of python code that will create a list of the 16 file names from an initial file name. The hardest part to this was figuring out Python syntax. In any case, here is my code snippet:

import re

print ("Input file name: "+filename)

	#Find the various parts of the file name

index =int(number)		#Convert the numaric part of the filename string into an integer

formatstring="%"+'0'+'%d'%(lennum)+'d'	#Create a format string that specifies the correct number of digits

	#Create a list of sequential file names
for i in list(range(16)):

print (outfile)

Since I am not really familiar with Python, this is probably pretty ugly code, and I’m sure someone who is familiar with Python could make this shorter and cleaner, but this does work with the format of filenames that Sony cameras use.

Slightly more robust version. Finds the last numeric string before the last ‘.’ in the file name and increments that.

import re

print ("Input file name: "+filename)

	#Find the various parts of the file name
if '.' in filename :
	match=re.match("(.*[^0-9]|'')([0-9]+)([^0-9]*)",filename)	#last numaric string in filename before last '.' in string.

index =int(number)		#Convert the numaric part of the filename string into an integer

formatstring="%"+'0'+'%d'%(lennum)+'d'	#Create a format string that specifies the correct number of digits

	#Create a list of sequential file names
for i in list(range(16)):

	# print each filename on a separate line (easier to read results)
for i in list(range(16)):
	print (outfile[i])

I have been unable to get Sony’s Imaging edge software to work with Wine, and I have not yet found anyone who is willing to use Imaging edge on their windows computer to create an ARQ file for me.
I did find that an application called PixelShift2DNG. A windows/mac program where the windows version works under Wine. It will read a set of ARW files and create a DNG file from it. This has the drawback that I still can’t use RawTherapee’s pixel shift processing on the image, but it does mean I can get super resolution raw files that I can process using RawTherapee.
PixelShift2DNG does support ARQ files as inputs, but it does not like the ARQ file created by make_arq. When I try, I get this error:
Screenshot from 2024-07-07 22-51-17
I think this means that the issue is with the arq file created by make_arq, and not rawtherapee. I do wish I could get someone to create an arq file using sony’s software so I could poke around and see if I can see the difference.
At the very least, I can now begin scanning the very large negatives I have.
edit: I am uploading the DNG file to the google drive directory I shared earlier.

Why don’t you try ART (Alberto’s fork of RawTherapee)? He said your files worked in his software.

Would have been nice if he told me about that. Which files did he test? The individual ARW files always worked, it was the ARQ file that did not, and I did not find a way to use the super resolution software with the group of 16 ARW files. My understanding is the only way to do that on rawtherapee is to convert the 16 ARW files to an ARQ file.
Followed the link to the download page. I don’t know how to deal with a tar.xz file. I did not see any installation instructions on that page either.

What kind of tone is that?! And he did: