Re: idlastro mrdfits and strings [message #68608] |
Thu, 12 November 2009 17:58  |
Chris Thom
Messages: 2 Registered: November 2009
|
Junior Member |
|
|
On Nov 12, 12:40 pm, wlandsman <wlands...@gmail.com> wrote:
> where IDL does not include a terminating null byte for the string tags
> when writing a structure to disk. So to do this correctly, one has
> to convert the string tags in a structure to bytes, which means
> creating an entirely new structure (since one can't change data types
> of a structure element), greatly slowing things down and complicating
> the code. It is a fix that I should do sometime, but I am not in a
> hurry to do so. (But I will document this bug/feature better.)
Ahh, I see. Thanks for the info. Seems like a strange interaction
between the quirks of idl and the quirks of the FITS format.
> If you are sure that you don't care about leading/trailing spaces, you
> could apply the following function right after the call to mrdfits()
>
> function trimstruct,str
> ; Trim each string element of a structure, assume there are not
> substructures
> N= N_tags(str)
> for i=0,n-1 do $
> if size(str.(i),/tname) EQ 'STRING' then str.(i) = strtrim(str.(i),
> 2)
> return
> end
HA! After I posted the first message, I wrote some code that is almost
identical to this. Well, ok...mine was a little less elegant, but it's
functionally identical.
> (Actually, it would be nice if one could apply strtrim() directly to a
> structure to do this.) --Wayne
yup...I tried that too, just to see what would happen. :)
thanks
chris
|
|
|