comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Having trouble with code for data to image.
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Having trouble with code for data to image. [message #63985] Tue, 25 November 2008 21:49 Go to next message
mbweller is currently offline  mbweller
Messages: 24
Registered: July 2008
Junior Member
Hello,

I am running the code:

image = fltarr(nx,ny)
deltax = (xrange[1]-xrange[0])/float(nx)
deltay = (yrange[1]-yrange[0])/float(ny)
for i=0l,ndata-1 do $
image[(left[i]-xrange[0])/deltax:(right[i]-xrange[0])/deltax , $
(bottom[i]-yrange[0])/deltay:(top[i]-yrange[0])/deltay] =
magnitude
[i]

where: nx=ny=180
xrange= [-180,0]
yrange = [-90,90]
ndata = 32400 ( or180^2 or nx*ny)
eg left -180
right -179
top 90
bottom 89
magnitude 0.1648

and i get the error when I run the code:

% Subscript range values of the form low:high must be >= 0, < size,
with low <= high: IMAGE

I assume the problem is in the way that my data is ordered, and I have
tried switching lows and highs around, but to no avail. I would
imagine this is pretty simple to solve, but it is not clear to me
right now.

Any insight?

Thanks,

~Matt
Re: Having trouble with code for data to image. [message #64093 is a reply to message #63985] Wed, 26 November 2008 17:20 Go to previous message
David Fanning is currently offline  David Fanning
Messages: 11724
Registered: August 2001
Senior Member
David Fanning writes:

> Do this instead:
>
> void = TVRead(/JPEG, Filename=,'EXTENSIONAL STRAIN general.jpeg')

Whoops! TVREAD will handle the file extension for you. Do this
instead:

void = TVRead(/JPEG, Filename=,'EXTENSIONAL STRAIN general')

The output file with have a .jpg extension.

Cheers,

David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
Re: Having trouble with code for data to image. [message #64094 is a reply to message #63985] Wed, 26 November 2008 17:15 Go to previous message
David Fanning is currently offline  David Fanning
Messages: 11724
Registered: August 2001
Senior Member
mbweller@gmail.com writes:

> These are the last two questions, I swear ;) , I'm just incredibly
> productive right now and want to get it out of the way before the
> holiday weekend.

Oh, dear. I saw this coming. I'm trying to get out of Dodge, too. :-)

Basically, you are going to position the image with the POSITION
keyword to MAP_SET (and TVIMAGE). What is going to complicate
things for both of us is how to leave space for the color bar,
while still maintaining a square aspect ratio for the image plot.
I had to get the ol' Radio Shack calculator out.

Here you go.

PRO CircleImage, POSTSCRIPT=ps
image = Scale_Vector(Dist(200), 0, 0.1648)
CTLoad, 4, /Brewer, NCOLORS=254
TVLCT, FSC_Color('ivory', /TRIPLE), 255
IF Keyword_Set(ps) THEN BEGIN
thisDevice = !D.Name
keywords = PSConfig(XSIZE=6.0, YSIZE=6.75, /INCHES, $
XOFFSET=1.25, YOFFSET=2.125, CANCEL=cancelled)
IF cancelled THEN RETURN
thisFont = !P.FONT
Set_Plot, 'PS'
Device, _EXTRA=keywords
ENDIF ELSE BEGIN
Window, XSIZE=400, YSIZE=450, /FREE
Erase, Color=FSC_Color('ivory')
ENDELSE
Map_Set, /Orthographic, 0, -90, $
POSITION=[0.125, 0.089, 0.925, 0.8], /NOERASE
warp = Map_Image(BytScl(image, TOP=254), xs, ys, COMPRESS=1, $
LATMIN=-90, LATMAX=90, LONMIN=-180, LONMAX=0, $
MISSING=255)
TVIMAGE, warp, POSITION=[0.125, 0.089, 0.925, 0.8], /AXES, $
XRANGE=[-180, 0], YRANGE=[-90,90], ACOLOR='Charcoal'
CTLoad, 4, /Brewer, NCOLORS=254
COLORBAR, NCOLORS=254, RANGE=[Min(image), Max(image)], $
DIVISIONS=5, FORMAT='(F0.3)', /TOP, $
POSITION=[0.125, 0.83, 0.925, 0.88], $
ANNOTATECOLOR='charcoal', $
XTICKLEN=1.0, XMINOR=1
IF Keyword_Set(ps) THEN BEGIN
Device, /CLOSE_FILE
Set_Plot, thisDevice
!P.Font = thisFont
ENDIF
END

> And finally,
> I'm trying to save the image. I've used:
> write_jpeg,'EXTENSIONAL STRAIN general.jpeg', tvrd()
> but is saves it gray scale and I have tried saving it as a postscript:
> SET_PLOT, 'PS'
> DEVICE, FILENAME=3D'estrain.ps'
> PLOT, image_e
> $ lpr estrain.ps
> and it gives my what appears to be a histogram analysis and the
> spheroid from which it came.

Do this instead:

void = TVRead(/JPEG, Filename=,'EXTENSIONAL STRAIN general.jpeg')

> I need the highest quality color image possible (It'll be on a poster
> and the image will be around a ft in size.)

Set the POSTSCRIPT keyword if you want to draw this in Postscript:

IDL> CircleImage, /POSTSCRIPT

Otherwise, to see it on your display:

IDL> CircleImage

--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
Re: Having trouble with code for data to image. [message #64095 is a reply to message #63985] Wed, 26 November 2008 15:58 Go to previous message
mbweller is currently offline  mbweller
Messages: 24
Registered: July 2008
Junior Member
On Nov 26, 3:08 pm, David Fanning <n...@dfanning.com> wrote:
> mbwel...@gmail.com writes:
>> My image is of the western hemisphere of Mars, so lat range is -90 to
>> 90 and lon range =3D -180 to 0 degrees. I would like to present it as a
>> Hemisphere display since that makes the most sense to do.
>
> You can try something like this:
>
>    image = BytScl(Dist(400), TOP=254)
>    CTLoad, 4, /Brewer, NCOLORS=254
>    TVLCT, FSC_Color('ivory', /TRIPLE), 255
>    Window, XSIZE=400, YSIZE=400
>    Erase, Color=FSC_Color('ivory')
>    Map_Set, /Orthographic, 0, -90, $
>         Position=[0.1, 0.1, 0.9, 0.9], /NOERASE
>    warp = Map_Image(image, xs, ys, COMPRESS=1, $
>         LATMIN=-90, LATMAX=90, LONMIN=-180, LONMAX=0, $
>         MISSING=255)
>    TVIMAGE, warp, Position=[0.1, 0.1, 0.9, 0.9]
>    XYOuts, 0.5, 0.055, /NORMAL, '-90', $
>         COLOR=FSC_Color('charcoal'), ALIGN=0.5
>    XYOuts, 0.5, 0.915, /NORMAL, '90', $
>         COLOR=FSC_Color('charcoal'), ALIGN=0.5
>    XYOuts, 0.09, 0.5, /NORMAL, '-180', $
>         COLOR=FSC_Color('charcoal'), ALIGN=1.0
>    XYOuts, 0.915, 0.5, /NORMAL, '0', $
>         COLOR=FSC_Color('charcoal'), ALIGN=0.5
>    END
>
> Cheers,
>
> David
> --
> David Fanning, Ph.D.
> Fanning Software Consulting, Inc.
> Coyote's Guide to IDL Programming:http://www.dfanning.com/
> Sepore ma de ni thui. ("Perhaps thou speakest truth.")

That works perfectly. Thank you!

These are the last two questions, I swear ;) , I'm just incredibly
productive right now and want to get it out of the way before the
holiday weekend.

How could one leave enough empty window space in order to place the
color bar in such a way as to not be placed onto the image? Currently,
since the image is displayed in the entirety of the image window, I
have to manually increase the window size in order to place it.

And finally,
I'm trying to save the image. I've used:
write_jpeg,'EXTENSIONAL STRAIN general.jpeg', tvrd()
but is saves it gray scale and I have tried saving it as a postscript:
SET_PLOT, 'PS'
DEVICE, FILENAME='estrain.ps'
PLOT, image_e
$ lpr estrain.ps
and it gives my what appears to be a histogram analysis and the
spheroid from which it came.

I need the highest quality color image possible (It'll be on a poster
and the image will be around a ft in size.)

Thanks again, I was running out of time.

~Matt
Re: Having trouble with code for data to image. [message #64096 is a reply to message #63985] Wed, 26 November 2008 15:27 Go to previous message
David Fanning is currently offline  David Fanning
Messages: 11724
Registered: August 2001
Senior Member
David Fanning writes:

> mbweller@gmail.com writes:
>
>> My image is of the western hemisphere of Mars, so lat range is -90 to
>> 90 and lon range =3D -180 to 0 degrees. I would like to present it as a
>> Hemisphere display since that makes the most sense to do.
>
> You can try something like this:
>
> image = BytScl(Dist(400), TOP=254)
> CTLoad, 4, /Brewer, NCOLORS=254
> TVLCT, FSC_Color('ivory', /TRIPLE), 255
> Window, XSIZE=400, YSIZE=400
> Erase, Color=FSC_Color('ivory')
> Map_Set, /Orthographic, 0, -90, $
> Position=[0.1, 0.1, 0.9, 0.9], /NOERASE
> warp = Map_Image(image, xs, ys, COMPRESS=1, $
> LATMIN=-90, LATMAX=90, LONMIN=-180, LONMAX=0, $
> MISSING=255)
> TVIMAGE, warp, Position=[0.1, 0.1, 0.9, 0.9]
> XYOuts, 0.5, 0.055, /NORMAL, '-90', $
> COLOR=FSC_Color('charcoal'), ALIGN=0.5
> XYOuts, 0.5, 0.915, /NORMAL, '90', $
> COLOR=FSC_Color('charcoal'), ALIGN=0.5
> XYOuts, 0.09, 0.5, /NORMAL, '-180', $
> COLOR=FSC_Color('charcoal'), ALIGN=1.0
> XYOuts, 0.915, 0.5, /NORMAL, '0', $
> COLOR=FSC_Color('charcoal'), ALIGN=0.5
> END

Or, I guess, following my own advice:

image = BytScl(Dist(400), TOP=254)
CTLoad, 4, /Brewer, NCOLORS=254
TVLCT, FSC_Color('ivory', /TRIPLE), 255
Window, XSIZE=400, YSIZE=400, /FREE
Erase, Color=FSC_Color('ivory')
Map_Set, /Orthographic, 0, -90, $
Position=[0.1, 0.1, 0.9, 0.9], /NOERASE
warp = Map_Image(image, xs, ys, COMPRESS=1, $
LATMIN=-90, LATMAX=90, LONMIN=-180, LONMAX=0, $
MISSING=255)
TVIMAGE, warp, Position=[0.1, 0.1, 0.9, 0.9], /AXES, $
XRANGE=[-180, 0], YRANGE=[-90,90], ACOLOR='Charcoal'
END

Cheers,

David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
Re: Having trouble with code for data to image. [message #64097 is a reply to message #63985] Wed, 26 November 2008 15:08 Go to previous message
David Fanning is currently offline  David Fanning
Messages: 11724
Registered: August 2001
Senior Member
mbweller@gmail.com writes:

> My image is of the western hemisphere of Mars, so lat range is -90 to
> 90 and lon range =3D -180 to 0 degrees. I would like to present it as a
> Hemisphere display since that makes the most sense to do.

You can try something like this:

image = BytScl(Dist(400), TOP=254)
CTLoad, 4, /Brewer, NCOLORS=254
TVLCT, FSC_Color('ivory', /TRIPLE), 255
Window, XSIZE=400, YSIZE=400
Erase, Color=FSC_Color('ivory')
Map_Set, /Orthographic, 0, -90, $
Position=[0.1, 0.1, 0.9, 0.9], /NOERASE
warp = Map_Image(image, xs, ys, COMPRESS=1, $
LATMIN=-90, LATMAX=90, LONMIN=-180, LONMAX=0, $
MISSING=255)
TVIMAGE, warp, Position=[0.1, 0.1, 0.9, 0.9]
XYOuts, 0.5, 0.055, /NORMAL, '-90', $
COLOR=FSC_Color('charcoal'), ALIGN=0.5
XYOuts, 0.5, 0.915, /NORMAL, '90', $
COLOR=FSC_Color('charcoal'), ALIGN=0.5
XYOuts, 0.09, 0.5, /NORMAL, '-180', $
COLOR=FSC_Color('charcoal'), ALIGN=1.0
XYOuts, 0.915, 0.5, /NORMAL, '0', $
COLOR=FSC_Color('charcoal'), ALIGN=0.5
END

Cheers,

David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
Re: Having trouble with code for data to image. [message #64099 is a reply to message #63985] Wed, 26 November 2008 14:38 Go to previous message
mbweller is currently offline  mbweller
Messages: 24
Registered: July 2008
Junior Member
On Nov 26, 2:15 pm, David Fanning <n...@dfanning.com> wrote:
> mbwel...@gmail.com writes:
>> I'm using colorbar but the numerical values for each color are
>> reported as 0's, even though it is displaying color variations.
>
>> code:    Colorbar, Range=3D[Min(image), Max(image)], /vertical
>> where:  Min(image) =3D 0
>>             Max(image)=3D0.1648
>
>> Why might they not be displaying the numerical values?
>
> The format is set by default to display integer values.
> Set the FORMAT keyword to whatever you prefer. Something
> like this should work:
>
>    Colorbar, ...., FORMAT='(F0.2)'
>
>> Is there any way to project the image in a spherical projection though
>> idl? If not, no worries I can always slap the image into a graphical
>> program to do it.
>
> I typically set up some kind of map projection and then
> warp the image into that. Labeling the axes correctly
> then becomes a bit trickier. It would help if I knew
> more about your image and what you are trying to do,
> exactly.
>
> Cheers,
>
> David
> --
> David Fanning, Ph.D.
> Fanning Software Consulting, Inc.
> Coyote's Guide to IDL Programming:http://www.dfanning.com/
> Sepore ma de ni thui. ("Perhaps thou speakest truth.")

> I typically set up some kind of map projection and then
> warp the image into that. Labeling the axes correctly
> then becomes a bit trickier. It would help if I knew
> more about your image and what you are trying to do,
> exactly.

My image is of the western hemisphere of Mars, so lat range is -90 to
90 and lon range = -180 to 0 degrees. I would like to present it as a
Hemisphere display since that makes the most sense to do.

Does that help?

~Matt
Re: Having trouble with code for data to image. [message #64101 is a reply to message #63985] Wed, 26 November 2008 14:15 Go to previous message
David Fanning is currently offline  David Fanning
Messages: 11724
Registered: August 2001
Senior Member
mbweller@gmail.com writes:

> I'm using colorbar but the numerical values for each color are
> reported as 0's, even though it is displaying color variations.
>
> code: Colorbar, Range=3D[Min(image), Max(image)], /vertical
> where: Min(image) =3D 0
> Max(image)=3D0.1648
>
> Why might they not be displaying the numerical values?

The format is set by default to display integer values.
Set the FORMAT keyword to whatever you prefer. Something
like this should work:

Colorbar, ...., FORMAT='(F0.2)'

> Is there any way to project the image in a spherical projection though
> idl? If not, no worries I can always slap the image into a graphical
> program to do it.

I typically set up some kind of map projection and then
warp the image into that. Labeling the axes correctly
then becomes a bit trickier. It would help if I knew
more about your image and what you are trying to do,
exactly.

Cheers,

David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
Re: Having trouble with code for data to image. [message #64102 is a reply to message #63985] Wed, 26 November 2008 14:10 Go to previous message
mbweller is currently offline  mbweller
Messages: 24
Registered: July 2008
Junior Member
On Nov 26, 12:50 pm, David Fanning <n...@dfanning.com> wrote:
> mbwel...@gmail.com writes:
>> In trying to run:
>
>> erase
>> loadct, 10   ; or whatever you want - the Brewer tables would probably
>> be useful
>> location =3D [0.1,0.1,0.9,0.9]
>> tvimage, bytscl(image,top=3D250)+4, position=3Dlocation
>> plot, /noerase, /nodata, [0],[0], position=3Dlocation, xrange=3Dxrange,
>> yrange=3Dyrange
>
>> I get an error that I don't quite understand (probably my relative
>> inexperience)>
>> Is this a problem within TVImage, or something I failed to do
>> correctly?
>
> It looks to me like you don't have the Coyote library on
> your IDL path, since it looks like FSC_COLOR is not being
> found. (It is called from inside TVIMAGE on line 662.)
>
> I would download the entire library, and add it to your
> IDL path. Instructions for doing so can be found here:
>
>   http://www.dfanning.com/documents/programs.html
>
> Note, too, that if you want to put axes around your image,
> it is quite easy to do it directly with TVIMAGE. You don't
> need to bother with the plot command. You could, for example,
> do this:
>
>    tvimage, bytscl(image, top=250, position=location, /axes, $
>        xrange=xrange, yrange=yrange
>
> Cheers,
>
> David
> --
> David Fanning, Ph.D.
> Fanning Software Consulting, Inc.
> Coyote's Guide to IDL Programming:http://www.dfanning.com/
> Sepore ma de ni thui. ("Perhaps thou speakest truth.")

WooHoo it worked! Thank you again, but of course I have just a couple
additional questions.

I'm using colorbar but the numerical values for each color are
reported as 0's, even though it is displaying color variations.

code: Colorbar, Range=[Min(image), Max(image)], /vertical
where: Min(image) = 0
Max(image)=0.1648

Why might they not be displaying the numerical values?

Is there any way to project the image in a spherical projection though
idl? If not, no worries I can always slap the image into a graphical
program to do it.

~Matt
Re: Having trouble with code for data to image. [message #64103 is a reply to message #63985] Wed, 26 November 2008 12:50 Go to previous message
David Fanning is currently offline  David Fanning
Messages: 11724
Registered: August 2001
Senior Member
mbweller@gmail.com writes:

> In trying to run:
>
> erase
> loadct, 10 ; or whatever you want - the Brewer tables would probably
> be useful
> location =3D [0.1,0.1,0.9,0.9]
> tvimage, bytscl(image,top=3D250)+4, position=3Dlocation
> plot, /noerase, /nodata, [0],[0], position=3Dlocation, xrange=3Dxrange,
> yrange=3Dyrange
>
> I get an error that I don't quite understand (probably my relative
> inexperience)>
> Is this a problem within TVImage, or something I failed to do
> correctly?

It looks to me like you don't have the Coyote library on
your IDL path, since it looks like FSC_COLOR is not being
found. (It is called from inside TVIMAGE on line 662.)

I would download the entire library, and add it to your
IDL path. Instructions for doing so can be found here:

http://www.dfanning.com/documents/programs.html

Note, too, that if you want to put axes around your image,
it is quite easy to do it directly with TVIMAGE. You don't
need to bother with the plot command. You could, for example,
do this:

tvimage, bytscl(image, top=250, position=location, /axes, $
xrange=xrange, yrange=yrange

Cheers,

David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
Re: Having trouble with code for data to image. [message #64104 is a reply to message #63985] Wed, 26 November 2008 12:40 Go to previous message
pgrigis is currently offline  pgrigis
Messages: 436
Registered: September 2007
Senior Member
mbwel...@gmail.com wrote:
> On Nov 26, 5:09�am, Jeremy Bailin <astroco...@gmail.com> wrote:
>> On Nov 26, 7:37�am, "Jean H." <jghas...@DELTHIS.ucalgary.ANDTHIS.ca>
>> wrote:
>>
>>
>>
>>> mbwel...@gmail.com wrote:
>>>> Hello,
>>
>>>> I am running the code:
>>
>>>> image = fltarr(nx,ny)
>>>> deltax = (xrange[1]-xrange[0])/float(nx)
>>>> deltay = (yrange[1]-yrange[0])/float(ny)
>>>> for i=0l,ndata-1 do $
>>>> � image[(left[i]-xrange[0])/deltax:(right[i]-xrange[0])/deltax , $
>>>> � � (bottom[i]-yrange[0])/deltay:(top[i]-yrange[0])/deltay] =
>>>> magnitude
>>>> [i]
>>
>>>> where: �nx=ny=180
>>>> xrange= [-180,0]
>>>> yrange = [-90,90]
>>>> ndata = 32400 � ( or180^2 or nx*ny)
>>>> eg left -180
>>>> � � right -179
>>>> � � top 90
>>>> � � bottom 89
>>>> � � magnitude 0.1648
>>
>>>> and i get the error when I run the code:
>>
>>>> % Subscript range values of the form low:high must be >= 0, < size,
>>>> with low <= high: IMAGE
>>
>>>> I assume the problem is in the way that my data is ordered, and I have
>>>> tried switching lows and highs around, but to no avail. I would
>>>> imagine this is pretty simple to solve, but it is not clear to me
>>>> right now.
>>
>>>> Any insight?
>>
>>>> Thanks,
>>
>>>> ~Matt
>>
>>> Hi,
>>> with the data you provide, you are out of bounds...
>>> (bottom[i]-yrange[0])/deltay:(top[i]-yrange[0])/deltay] ==> 179:180
>>> ... 180 is out of bound. Remember that indexing is from 0 to n-1. You
>>> might want to throw a -1 in your indexes...
>>> As Chris has suggested it, print your indexes and be sure they are correct!
>>
>>> Jean
>>
>> That looks distinctly like code I suggested. ;-)
>>
>> Yes, Jean is exactly right - there should be -1 in both the "top" and
>> "right" part of the indexing, i.e. replace the current line with:
>>
>> � �image[(left[i]-xrange[0])/deltax:(right[i]-xrange[0])/del tax-1, $
>> � � �(bottom[i]-yrange[0])/deltay:(top[i]-yrange[0])/deltay-1] =
>> magnitude[i]
>>
>> Sorry about that!
>>
>> -Jeremy.
>
>
> That fixed the problem! Thank you all for your help; However, as these
> things often go, I have a new problem.
>
> In trying to run:
>
> erase
> loadct, 10 ; or whatever you want - the Brewer tables would probably
> be useful
> location = [0.1,0.1,0.9,0.9]
> tvimage, bytscl(image,top=250)+4, position=location
> plot, /noerase, /nodata, [0],[0], position=location, xrange=xrange,
> yrange=yrange
>
> I get an error that I don't quite understand (probably my relative
> inexperience) with:
>
> tvimage, bytscl(image,top=250)+4, position=location
>
> Erase, Color=FSC_Color(background, BREWER=brewer)
> ^
> % Syntax error.
> At: G:\Mars_tectonics\IDL_programs\tvimage.pro, Line 662
>
> IF Size(acolor, /TNAME) EQ 'STRING' THEN acolor = FSC_COLOR
> (acolor, BREWER=brewer)

Is that in one or two lines in your file? If on two, remove
the line break.

Paolo

>
> ^
> % Syntax error.
> At: G:\Mars_tectonics\IDL_programs\tvimage.pro, Line 995
> % Compiled module: TVIMAGE.
> % Attempt to call undefined procedure/function: 'TVIMAGE'.
> % Execution halted at: $MAIN$
>
>
>
> Is this a problem within TVImage, or something I failed to do
> correctly?
>
> And Jeremy the code should look familiar ;)
> Thanks again for you help
>
> ~Matt
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Memory allocation problem
Next Topic: Re: inverse gradient

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Sat Oct 11 13:38:43 PDT 2025

Total time taken to generate the page: 1.04015 seconds