Purpose
The optical path from my telescope/CCD camera is fixed, resulting into 1.4 arc
sec/pixel resolution. This is an ideal configuration for many deep sky objects,
resulting in relative wide field images of 37' x 25' (nearly the full Moon). However,
when the seeing is very
good, then this is a strong limitation as the image resolution becomes CCD
limited. Also "small" objects give very small pictures with lack of
detail. As an example, here is the full scale image I get from the Ring Nebula:
Several techniques like drizzle allow to get a larger image, but they are not
mathematically accurate.
"Virtual pixel" allows, starting from 4 images taken with a CCD camera
having a pixel area P, to generate one image with a pixel area P/4. In clear, my
ST8E camera with 1.5 Mega pixels of 9μ x 9μ is transformed into a camera with 6 Mega
pixels of 4.5μ x 4.5μ.
Pros & Cons
Pros:
 Allows nearly professional quality images (3060 x 2040 pixels)
 Pixel sampling of .7 arc sec with my optical configuration
 Keeps the same Field Of View (37'5 x 25')
 Allows to keep optical path unchanged (no Barlow, no need for new flats)
 Induces very little artefacts with image restoration algorithms.
Cons:
 Each virtual pixel receives 1/4 of the light for a given exposure time
(same as having a real 6 Mega pixel camera with 4.5μ square pixels).
Exposure times have to be multiplied by 4 to get the same signal/noise
ratio.
 Requires a special guiding program able to take 4 pictures shifted by .5
pixels.
 To be effective, requires a very steady sky, very well collimated scope,
perfect focusing and a very good guiding control.
 Gives very poor results if conditions vary between pictures. This includes
change in sky darkness,
change in air transparency and light pollution.
 Cannot be used for planets or Moon (requires guide star).
Theory
Four shots 'I', 'J', 'K', 'L' are needed. 'I' is the reference image, 'J' is
taken with an horizontal shift of .5 pixel, 'K' with a vertical shift of .5
pixel, 'L' with horizontal + vertical shifts of .5 pixel.
A special guding program has been developped: All 4 shots use the same guide
reference star and the .5 pixel shift is applied during the telescope guiding
process.
The following figure shows the relative positionning of pixel y=n, x=m for the 4
shots:
In,m in black (reference image)
Jn,m in brown (horizontal shift .5 pixel)
Kn,m in red (vertical shift .5 pixel)
Ln,m in orange (horizontal + vertical shift .5 pixel)
'Virtual pixels', noted Pi,j, with 1/4 the area or the real pixels are delimited
by the I, J, K, L pixels
Virtual pixels values can be determined by the following
recursive formulas, starting from the upper left corner:
P2n+1,2m+1 = In,m
 (P2n,2m + P2n,2m+1 + P2n+1,2m)
P2n+1,2m+2 = Jn,m
 (P2n,2m+1 + P2n,2m+2 + P2n+1,2m+1)
P2n+2,2m+1 = Kn,m
 (P2n+1,2m + P2n+1,2m+1 + P2n+2,2m)
P2n+2,2m+2 = Ln,m
 (P2n+1,2m+1 + P2n+1,2m+2 + P2n+2,2m+1)
With P0,m = Pn,0 = 0 for
all m,n values (upper line = 0, left column = 0)
Similar formulas can be determined starting from the other corners, giving 4
ways to compute a single virtual pixel. The final virtual pixel value will then
be an average of the 4 computed values.
Because each virtual pixel depends from previous virtual pixels values, the
above formulas are very unstable in a real imperfect world. Therefore, a
relaxation coefficient K has to be added. The final formulation is:
P2n+1,2m+1 = In,m
 (P2n,2m + P2n,2m+1 + P2n+1,2m)
/ K
P2n+1,2m+2 = Jn,m
 (P2n,2m+1 + P2n,2m+2 + P2n+1,2m+1)
/ K
P2n+2,2m+1 = Kn,m
 (P2n+1,2m + P2n+1,2m+1 + P2n+2,2m)
/ K
P2n+2,2m+2 = Ln,m
 (P2n+1,2m+1 + P2n+1,2m+2 + P2n+2,2m+1)
/ K
A value of K = 1.75 has been found satisfactory in most cases. Note that if K is
very big, we get the classical "drizzle" formula.
Experimental Results
Following pictures show the results obtained on a star field
(portion of M13) with a resolution of .7"/pixel:



Original image enlarged x2 
Virtual Pixel, K=1
Note the streaks caused by instabilities 
Virtual Pixel, K=1.75 
Below is a portion of the above images enlarged x2 (0.35" /
pixel)
The Virtual Pixel algorithm shows it's power when combined with
deconvolution. Below are the same images processed by Maximum Entropy
deconvolution.



As can be expected nothing good happens.
Deconvolution cannot guess missing information! 
Streaks caused by instabilities are also
restored... 
Star separation as small as .7" can be
detected 
Conclusion
Virtual Pixel proves to be a very efficient technique in emulating
x4 definition CCD. However it is very demanding in time, guiding, sky quality...
and should be reserved only for those few magic nights where everything goes
right.
Images done using Virtual Pixel, but not with the best
conditions yet:
M51, M57,
M76, NGC 891, NGC 6946, NGC 7662
(blue snowball)
