[AstroPy] Moving Ahead with Raw Image Conversion

Wayne Watson sierra_mtnview@sbcglobal....
Mon Apr 13 11:38:40 CDT 2009


Hi, not familiar with much of anything in numpy, then again, I'm not 
anxious to read through the 300+ page manual. :-)
Well, let's see if I can explain this in py-talk. Here's a small program 
I wrote to get the raw image

#import Image
import string

def make_array():
    im_array=[]
    im_data=range(10)
    print im_data
    for j in range(2):
        row=[]
        for k in range(5):
            item=hex(int(im_data[k+j*5]))
            row.append(item)
        im_array.append(row)
    print im_array

raw_file=open('sent_internal.raw','rb')
raw_image=raw_file.read()
raw_file.close()
print 'info:', len(raw_image), type(raw_image)
make_array()

make_array, instead of working on the 307200 byte(640x480) string 
representing the image, is used to see if I can generate a 2x5 array 
like that apparently needed to represent the image to pyfits. The above 
produces this:
info: 307200 <type 'str'>
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]  <--- my fictional 2x5 image as a py list.
[[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]]   <--- the type of structure I think 
numarray(numpy equivalent) wants.

I'm looking at page 7 of the FITS manual, and I see in the middle, 
hdulist[1].data. This appears to be where the data(image) goes. At the 
top of page 10, the steps to construct a simple fits file are shown. 
numarray is used. Simply put, how do I proceed from here?


I've attached the 'sent_internal.raw' file. It may cause this msg to be 
rejected by the mail list.

Jim Vickroy wrote:
> Wayne Watson wrote:
>   
>> I've pretty much gotten my 640x480 1 byte, "raw" image under control 
>> within Python Image and Python file use. I wrote a file of 307200 bytes 
>> in bytes, byte representation of characters. I couldn't see anything 
>> within pyfits or numpy that would help me do that. Now I believe I'm in 
>> a position to use pyfits to create a fits format file. The next step is 
>> to arrange the image (data) into a 640x480 array. I can do that in 
>> python, but would like to know how it can be done in numpy, for the 
>> experience. The IDA tutorial talks to making arrays, but I do not see 
>> where they work with creating an array with fresh data. Once that's 
>> done, then I should be able to work out from a reading of page 10 in the 
>> pyfits manual.
>>
>>   
>>     
> Hello Wayne,
>
> Could you post a sample script illustrating exactly what you want to do 
> along with some sample output showing how it is failing to do so?
>
> Are you familiar with the numpy.ndarray.reshape() procedure?
>
> -- jv
> _______________________________________________
> AstroPy mailing list
> AstroPy@scipy.org
> http://mail.scipy.org/mailman/listinfo/astropy
>
>   

-- 
           Wayne Watson (Watson Adventures, Prop., Nevada City, CA)

             (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time)
              Obz Site:  39° 15' 7" N, 121° 2' 32" W, 2700 feet  

           All the neutrons, and protons in the human body occupy 
           a cube whose side is 5.52*10**-6 meters (tiny!). That 
           adds up to a 150 pound person. It's not a surprise that
           we are mostly space. (Calculation by WTW)
 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: sent_internal.raw
Type: application/octet-stream
Size: 307200 bytes
Desc: not available
Url : http://mail.scipy.org/pipermail/astropy/attachments/20090413/0bc5855e/attachment-0001.obj 


More information about the AstroPy mailing list