Page 1 of 14 1234511 ... LastLast
Results 1 to 10 of 133

Thread: ILDA Format

  1. #1
    Join Date
    Jan 2006
    Location
    Akron, Ohio USA
    Posts
    1,754

    Default ILDA Format

    Quote Originally Posted by Pangolin View Post
    Let me ask you something James. As Patrick and I have discussed this recently, and so has others on the Tech Committee, it seems to us that Format 4 really conveys all of the information that any previous format or combination of formats would convey. So it seems that this single format really does everything. If you pretend Format 0, 1, 2, 3 and 5 had ever been invented, isn't it true that Format 4 is a total solution?


    You're right. Format 4 contains all of the individual pieces of information that could possibly be stored in any of the other formats.

    However, it is a total rewrite of the file structure. It does not have any retro engineering connection to format 0 or 1. Think of the large number of files out there that simply have a .ild on the ends of them. What does that mean, now?

    Format 2 has been a part of the published standard for many years. For some reason it was not universally implemented; or at least not as accurately as formats 0 & 1. As you know, the 62 color palette is assumed in many cases.

    If an ILDA file reader was designed to scan through a file looking for the string "ILDA" , three binary zeros and another byte, 0 or 1, then it would be possible to open a file that had format 2 data in it and the reader would be able to skip that and still get all of the vector art from the file. So if a reader was designed to skip 2, it would just as easily and accurately skip 3; even though the reader may have been coded before 3 was even an idea.

    On the other hand, if we forget about 2 & 3 and go straight to 4 & 5, we are certain that the older ILDA file reader will get nothing, because there will be no format 0 or 1 to find.

    There is also a loss of information in the form of not using format 2 and going to 4 or 5.

    In laser vector art, palettes are always in play. Even if you have a frame with 1057 different points of unique colors, that is still a palette of colors. If there are less than 256 colors, then it should be indexed with the single byte in format 0 or 1. If there are more colors than 256 it makes sense to use the natural order of the vectors as an index into a color table.

    The use of 2 and 3 must be connected to the understanding that a format 2 palette can stand for a whole series of vector frames that follow it, until another format 2 or a format 3 is encountered. But a format 3 color table must always have a one to one relationship with the next format 0 or 1 that follows it.

    By format 3, I mean with the same, standard, section header that all the other formats have.

    If you make a set of frames that have less than 256 unique colors per frame, then, the palettes themselves, separated from the vectors, are an important part of the art to convey. If you save all the frames as 4 or 5, you have no separation from the vectors and the palettes. How do you get the original palettes back?

    I understand why formats 4 & 5 exist. But should they really be called .ild?

    And, if formats 2 & 3 were implemented instead, then why would we need 4 & 5?

    James.

    Last edited by James Lehman; 10-30-2008 at 20:01.

  2. #2
    Join Date
    Aug 2007
    Location
    Portland
    Posts
    1,354

    Default


  3. #3
    Join Date
    May 2006
    Location
    Native Floridian
    Posts
    3,127

    Default

    Quote Originally Posted by platinum View Post


  4. #4
    Join Date
    Oct 2006
    Location
    Central Florida
    Posts
    7,067

    Question I love you man, but damn...

    Quote Originally Posted by DZ View Post

    Quote Originally Posted by platinum View Post
    You guys are sick...

    James... I really have tried to ignore the... drama. I might be the only neutral perspective here while also being smart enough to semi-understand but ignorant enough not to care about these formats; I just want to ask Why?
    Love, peace, and grease,

    allthat... aka: aaron@pangolin

  5. #5
    Join Date
    Jan 2006
    Location
    Akron, Ohio USA
    Posts
    1,754

    Default

    Because LaserBoy is totally wrapped around the idea of formats 2 & 3. There are many neat features that go with these concepts. And I'd like to be able to express them in files that could exist and be useful outside of LaserBoy.

    I've been working with this stuff for almost five years. I would like to see my art bear fruit.

    I really believe that a world standard format should be as good as it can be.

    James.

  6. #6
    Join Date
    Apr 2006
    Location
    Orlando, FL - USA
    Posts
    1,770

    Default

    Hi Allthat, Platinum and DZ,

    Hang tight, I think we are making progress here .

    James, don't hit "reply" until you read the whole thing. I think I am starting to see what makes you so passionate about this, and there might be a solution.


    Quote Originally Posted by James Lehman View Post
    You're right. Format 4 contains all of the individual pieces of information that could possibly be stored in any of the other formats.
    Yes, exactly.


    Quote Originally Posted by James Lehman View Post
    However, it is a total rewrite of the file structure.
    I guess it depends on what you mean by "structure". The header is exactly the same, and all meanings were maintained.

    The point data is also exactly the same, and the meaning is maintained for the X, Y, Z and "status" portions. The only difference is the number of bytes used for color.

    Really that's why it's so easy for people to understand and implement, once they understand Formats 0 and 1.


    Quote Originally Posted by James Lehman View Post
    It does not have any retro engineering connection to format 0 or 1.
    I guess it depends on what you mean by "retro", but it does have a "connection".

    One thing -- it isn't documented in the format, but was known in the committee. The bit layout was like this:

    Bit 0 = "3D or 2D bit"
    Bit 1 = "I am a palette bit"
    Bit 2 = "I have True Color bit"

    That's another thing that makes it so simple. The "Bit 0" was retained, and has exactly the same meaning as it did for Formats 0 and 1.


    Quote Originally Posted by James Lehman View Post
    Format 2 has been a part of the published standard for many years. For some reason it was not universally implemented; or at least not as accurately as formats 0 & 1. As you know, the 62 color palette is assumed in many cases.
    Yes, absolutely, because Format 2 required more work on the part of programmers, and most programmers in the laser biz are pretty lazy.

    Also, Format 2 only gives you 255 colors max. I guess for some or most people, it felt like only a partial solution, so it never gained popularity.

    At least when it comes to communicating information insomuch as X, Y, Z and color, Format 4 does that. So, from a file interchange standpoint, it is the complete solution people were waiting for.


    Quote Originally Posted by James Lehman View Post
    If an ILDA file reader was designed to scan through a file looking for the string "ILDA" , three binary zeros and another byte, 0 or 1, then it would be possible to open a file that had format 2 data in it and the reader would be able to skip that and still get all of the vector art from the file.
    Yes, but skip it how? By looking for the letters 'ILDA'? That's an unreliable approach. I never really took that approach seriously really. I am not sure if anyone did.

    Nevertheless, this is the very reason why Peter suggested augmenting (i.e. changing) the ILDA header -- so that future data COULD be *reliably* skipped. That's the virtue of the change. I like the "virtue" part, but not the "change" part. I think you and I agree on that...


    Quote Originally Posted by James Lehman View Post
    On the other hand, if we forget about 2 & 3 and go straight to 4 & 5, we are certain that the older ILDA file reader will get nothing, because there will be no format 0 or 1 to find.
    Yes, that is true, and in fact, that is why Peter argued in favor of the Format 3 approach. But he was also the person who argued in favor of the "change" part too...

    James, I know it sucks. As you know, life isn't perfect. The ILDA format is far from perfect... But it is what it is.

    I understand your points, and I agree with most of them. I guess for me, it's easier to just move on...


    Quote Originally Posted by James Lehman View Post
    In laser vector art, palettes are always in play. Even if you have a frame with 1057 different points of unique colors, that is still a palette of colors.
    Hmmm. I am not sure I understand your point, or maybe it's that I don't agree.

    We used palettes back on our LD/Amiga days, but abandoned them starting with our LD/QM32 system designed in 1992. Our LD2000 system DEFINITELY doesn't use palettes. (In fact, the internal coding of points isn't even RGB, it's coded in a format similar to what was invented by Tektronix -- a nonlinear type color encoding scheme.) In LAStudio, there are no palettes. All points are stored with RGB. As far as I know, newer systems are storing data with RGB.

    For example -- I have never seen Spaghetti with my own eyes, and have NO IDEA how Gary stores color in Spaghetti, but if I had to guess, my guess would be some kind of RGB or BGR. Am I right Gary?

    Quote Originally Posted by James Lehman View Post
    If you make a set of frames that have less than 256 unique colors per frame, then, the palettes themselves, separated from the vectors, are an important part of the art to convey. If you save all the frames as 4 or 5, you have no separation from the vectors and the palettes. How do you get the original palettes back?
    I think I see your point, and it could be that Laserboy used the "Palette" concept in a way that, I would say in general, modern systems don't. (Not meant in any way to be a slam -- just an observation.)

    I guess the palette concept might come in handy for, what we might call, "old school" color cycling. Like for example, Steve Gibson (old friend, famous Windows software writer and, more recently, security consultant) created a Windows Screen Saver long ago named "Chroma Zone" that did color palette rotations as part of it's beauty. It was accepted as "cool", but... I think people have really just gotten away from color indexes and palette rotations.

    Anyway, let me take a close look at one thing you wrote, and then respond to it. You raise the question "how you get the original palette *back*". That makes the assumption that there was a palette in the first place, and this most certainly would not be the case with LD/QM32, LD2000, or LAStudio, and also not with other newer systems of which I am aware.

    If LD2000 created a Format 2/Format 0 frame, what would happen is that it would create a palette in the order that the colors were encountered in the frame. I don't think this would quite be what you have in mind by "getting the palette back". If it did, then you could use the same technique to manually build a palette with Format 4/5 frames.

    In reading your comments and thinking about how you might be using palettes in LaserBoy, one idea that I have is this: You could "back the palette out" using the technique mentioned above (like, just collect colors in the order they are encountered in a Format 4 file) and then do some kind of automatic re-arranging based on some kind of logic (hue, saturation, etc.). Maybe that's a way to have your cake and eat it too?


    Quote Originally Posted by James Lehman View Post
    I understand why formats 4 & 5 exist. But should they really be called .ild?
    The original idea was to call them "ILDA 24" or "ILD24" or something like that. It is discussed in the (grrr... still unpublished...) ILDA file format document...

    Quote Originally Posted by James Lehman View Post
    And, if formats 2 & 3 were implemented instead, then why would we need 4 & 5?
    Well, remember, Format 4 and 5 came before 3 (see bit-encoding above). The only reason why Format 3 was suggested was -- Egos. Someone's ego got involved because other people had come up with an idea of doing 24-bit color using the Format 4/5 method, and thus, someone wanted to assert themselves (in the same way that someone asserted themselves to get those four lines added to the ILDA test pattern...).

    I think I am starting to see your point James. Maybe you are so upset about "palettes being removed" because you use them in a way that many modern systems don't use them any more. (Again, the word "modern" not used as a slam, but just to illustrate the point. As a testament, Chroma Zone was discontinued after Windows 95...)

    It could be that you derive benefit from this "palettes concept" in a way that modern systems can't (like how Chroma Zone creates some cool effects that, possibly, can't be duplicated any other way).

    I might be seeing your point, but I hope that you can start to see things from my perspective too, insomuch that, to the best ability for me to tell, systems made over the last 10 years don't use palettes. And so even if they were to save a frame file in Format 2/0 or Format 3/0, and you load them, you probably wouldn't get what you think you would (if you assume that all systems use palettes).

    So, thinking about this and putting this together, my suggestion is to see if you could "have your cake and eat it too", insomuch as coming up with a clever way of, essentially, reconstructing palette data from frames that didn't have palettes to begin with. If you do that, then you would have something really special.

    And I can tell you -- Pangolin won't be doing anything like this, so it would be your own little trick . We don't like palettes and, as cool and unique as Chroma Zone is, we would rather do things our own way.

    If I have a final comment, it is just that -- it probably isn't wise to "fight city hall". It's not good for your health and sanity (much less that of others). I have been getting tired of fighting the "city halls" in my life as well... To me the better approach is to find a way around "city hall". This "palette reconstruction and intelligent reordering" might be your way to get around "city hall" and then have something really unique to boot!

    I hope this helps!

    Bill

  7. #7
    Join Date
    Nov 2007
    Location
    Cairns, Australia
    Posts
    1,896

    Default

    Till now, I never even knew there were different ILDA formats, great post Bill

  8. #8
    Join Date
    Dec 2006
    Location
    Pflugerville, TX, USA
    Posts
    1,977

    Default

    Spaghetti doesn't care about any of that mess since it is not a drawing application, for the most part. I just read what I get. I can read 0,1,2,3,4,5 but when exporting, I only allow exporting to Format 0, 1, 4, 5. It will best fit when saving to 0 or 1. With 4 & 5 there is no loss of data.

    I only came across one or two format 3 files and there was a pallette defined for each and every one of the 12000 or so frames!

    I guess there is some reason that LaserBoy likes pallettes. But, it doesn't look like ILDA created them for drawing apps but to allow efficient storage of color info. This broke down when >255 colors were desired and it made more sense with the decrease in price of RAM and harddrives to just store the RGB data with the points. This makes things simpler for almost everyone.

    So my take on it, James, is that you based your app around an aspect of the ILDA format that actually wasn't a building block of it. For reasons that most agree to, it has changed and left you a bit high and dry. I think that it makes more sense, community wise, for you to either figure out how to deal with it by internally converting to pallettes from these formats or to just change your app so that they aren't required. You can't expect the world to slow down for a freebie app that doesn't even get a lot of use.

    Anyway, that is my opinion, based on what I understand.

  9. #9
    Join Date
    Jul 2008
    Location
    Maryland
    Posts
    1,691

    Default

    My question about format 4 and 5 is this.

    If I create a format 4 file that is 24 bit RGB and i want ti send it to my friend (after all what is the ilda format if not a document to be read by someone else). Now my friend can only scan in Red and green (rgy) and wants to play my file... what then...

    Ill tell you what then, he uses some software to manipulate the file to make it RGY. The color info is stored WITH the vector info. In this format the file looses its original color info.


    I think a solution would be to never actually edit color data in a file, simply manipulate the output to compensate, or save it as a different file name.

    i do think the extention should be changed tho ... im going with .ildx (after all, Pangolin is the Microsoft ot the laser world)

  10. #10
    Join Date
    Dec 2006
    Location
    Pflugerville, TX, USA
    Posts
    1,977

    Default

    Quote Originally Posted by keeperx View Post
    My question about format 4 and 5 is this.

    If I create a format 4 file that is 24 bit RGB and i want ti send it to my friend (after all what is the ilda format if not a document to be read by someone else). Now my friend can only scan in Red and green (rgy) and wants to play my file... what then...

    Ill tell you what then, he uses some software to manipulate the file to make it RGY. The color info is stored WITH the vector info. In this format the file looses its original color info.


    I think a solution would be to never actually edit color data in a file, simply manipulate the output to compensate, or save it as a different file name.

    i do think the extention should be changed tho ... im going with .ildx (after all, Pangolin is the Microsoft ot the laser world)
    Doesn't matter if it is format 0, 1, 4, or 5. If you change it to RGY then it is RGY. You can't snap your figures and make the B come back. Sure, you could swap out pallettes but no reason to do that when the laser playback software will automatically do it for you without modifying the file. If you wanted to play a color movie on a black and white TV would you remaster the tape so that it is black and white? Of course not, the TV will do that for you and then when your friend watches the tape it will be in color for him.

    James has this idea that he should modify the file (wav file for him) each time that an adjustment needs to be made to match the system that it is played. To me, that is nonsense. Just keep the file generic and let the software worry about color changes, etc.

    There is no reason for a different extension because the file type is discoverable by reading the header. ILD tells the software that it is an ILDA file. The format code tells what type of ILD file. Different extensions just mean more work with no rewards.
    Last edited by carmangary; 10-31-2008 at 05:37.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •