Logo by Cyclops - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Follow us on Twitter
 
*
Welcome, Guest. Please login or register. March 29, 2024, 12:29:54 PM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: [1]   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: Fractal extreme iteration data  (Read 1785 times)
0 Members and 1 Guest are viewing this topic.
kjknohw
Explorer
****
Posts: 45


« on: August 11, 2011, 08:15:39 AM »

Is there a program that can extract the iteration data from fractal extreme images? I want to make a zoom movie without the limitations of fractal extreme but with it's extreme speed.

The next best thing, available to non-programmers to answer, is the rules for how speed, acceleration, and the number of iterations map to the color.
Logged
panzerboy
Fractal Lover
**
Posts: 242


« Reply #1 on: December 05, 2011, 11:35:40 AM »

I had a look at the .fx files with a hex editor.
Its real obvious where the iterations are.
The subsection is marked with the string "ITRS".
But I just can't fathom the format.
I suspect it may be in a compressed format.

There should be a new version forthcoming soon perhaps with variable speed zoom control for the movies and certainly a speed boost.
Check Bruce Dawson's comments here http://randomascii.wordpress.com/2011/12/04/really-deep-fractal-zoom-movie-much-faster/
Logged
SeryZone
Strange Attractor
***
Posts: 253


Contemplate...


« Reply #2 on: September 19, 2013, 01:19:26 PM »

Very useful post.  .fx files have .bmp structure + iteration data. How to use it - I can't solve for today.
Logged

Nahee_Enterprises
World Renowned
Fractal Senior
******
Posts: 2250


use email to contact


nahee_enterprises Nahee.Enterprises NaheeEnterprise
WWW
« Reply #3 on: September 19, 2013, 02:53:53 PM »

    I had a look at the .fx files with a hex editor.    Its real obvious where the iterations are.
    The subsection is marked with the string "ITRS".    But I just can't fathom the format.
    I suspect it may be in a compressed format.

    .fx files have .bmp structure + iteration data. How to use it - I can't solve for today.

There are multiple values following the "ITRS" character string, and it appears they are in little endian format, in other words, organized with the least significant digits/bytes of a number on the left side and the most significant on the right.  And since they are in hexadecimal, a value of x"B0040000" viewed with a hex editor would be equal to 1,200 in decimal.  Within the .FX file, the actual iteration value is found starting at the ninth byte after that "ITRS" character string, and I believe it has a length of 4 bytes.
 
Logged

SeryZone
Strange Attractor
***
Posts: 253


Contemplate...


« Reply #4 on: October 09, 2013, 09:20:50 PM »

Quote
There are multiple values following the "ITRS" character string, and it appears they are in little endian format, in other words, organized with the least significant digits/bytes of a number on the left side and the most significant on the right.  And since they are in hexadecimal, a value of x"B0040000" viewed with a hex editor would be equal to 1,200 in decimal.  Within the .FX file, the actual iteration value is found starting at the ninth byte after that "ITRS" character string, and I believe it has a length of 4 bytes.

I looked - and think, that it's size is 4 bytes (unsigned int or longint in Delphi). But this data is reliably encrypted. My advice: explore and save 640x480 place in the same iteration value. Or disassembly FX library or program - if you know assembler, you can find encrypt algorithm.
Logged

Nahee_Enterprises
World Renowned
Fractal Senior
******
Posts: 2250


use email to contact


nahee_enterprises Nahee.Enterprises NaheeEnterprise
WWW
« Reply #5 on: October 09, 2013, 09:38:02 PM »

    I looked - and think, that it's size is 4 bytes (unsigned int or longint in Delphi).   But this data is reliably encrypted.
    My advice:  explore and save 640x480 place in the same iteration value.   Or disassembly FX library or program -
    if you know assembler, you can find encrypt algorithm.

It is not encrypted!!!   It is as I stated in my previous posting.     cheesy
 
Logged

panzerboy
Fractal Lover
**
Posts: 242


« Reply #6 on: October 10, 2013, 05:08:14 AM »

I made some notes on the .fx file format as when I investigated it a couple of years ago.

Code:
Remember LSB first!

BMPPOS      0a 0b 0c 0d 32 bit pointer to BMP
width       12 13 14 15
height      16 17 18 19
userdatasize 8d
palettesize 89 8a 8b 8c 32 bit length of palette info add to 8d to seek past palette
---
"FXPL"      8d+userdata+palettesize
postpallen  FXPL+4,5,6,7  32 (64?) bit index to "ITRS" (8d+pallettesize+postpallen+8)
---
"ITRS"      8d+pallettesize+postpallen+8
itrlen      ITRS+4,5,6,7 length of iteration data
aliasing    ITRS+40 1byte  antialiasing 02,03,04
aawidth     ITRS+8c,8d,8e,8f
aaheight    ITRS+8e,90,91,92
maxiter2    ITRS+94,95,06,97


I had made different renders at  low resolution with differing anti-aliasing settings.
On quick inspection just now without anti-aliasing the format is very different and doesnt conform to the above.

Hope this helps.
Logged
Kalles Fraktaler
Fractal Senior
******
Posts: 1458



kallesfraktaler
WWW
« Reply #7 on: October 10, 2013, 07:09:01 AM »

You may use the KFB files my program creates. Here is code how to read them:
Code:
// The first 3 bytes contain "KFB" - just to make sure that I don't read garbage and try
// to allocate unreasonable amount of data in the next steps
char szId[3];
ReadFile(hFile,szId,3,&dw,NULL);
if(strncmp(szId,"KFB",3)){
CloseHandle(hFile);
return NULL;
}
// Next two integers are width and height
int nWidth, nHeight;
ReadFile(hFile,&nWidth,sizeof(int),&dw,NULL);
ReadFile(hFile,&nHeight,sizeof(int),&dw,NULL);
// Allocate and read integers
int **ppBits = new int*[nWidth];
int x;
for(x=0;x<nWidth;x++){
ppBits[x] = new int[nHeight];
ReadFile(hFile,ppBits[x],sizeof(int)*nHeight,&dw,NULL);
}
// Iteration divide value
int nColorDiv;
ReadFile(hFile,&nColorDiv,sizeof(int),&dw,NULL);
// Number of key colors
ReadFile(hFile,&nParts,sizeof(int),&dw,NULL);
// Colors (COLOR14 is just 3 integers, R, G and B
struct COLOR14 {int r, g, b; };
ReadFile(hFile,cKeys,sizeof(COLOR14)*nParts,&dw,NULL);
// Maximum iterations
int nMaxIter;
ReadFile(hFile,&nMaxIter,sizeof(int),&dw,NULL);
Logged

Want to create DEEP Mandelbrot fractals 100 times faster than the commercial programs, for FREE? One hour or one minute? Three months or one day? Try Kalles Fraktaler http://www.chillheimer.de/kallesfraktaler
http://www.facebook.com/kallesfraktaler
panzerboy
Fractal Lover
**
Posts: 242


« Reply #8 on: October 10, 2013, 10:33:24 AM »

I must confess to already having a peek at the kfb files.
The palette table at the end is obviously 8bit triplets of RGB values so
Code:
struct COLOR14 {uint8 r, g, b; };

not as you have stated.
Code:
struct COLOR14 {int r, g, b; };
Logged
Kalles Fraktaler
Fractal Senior
******
Posts: 1458



kallesfraktaler
WWW
« Reply #9 on: October 10, 2013, 03:33:45 PM »

I must confess to already having a peek at the kfb files.
The palette table at the end is obviously 8bit triplets of RGB values so
Code:
struct COLOR14 {uint8 r, g, b; };

not as you have stated.
Code:
struct COLOR14 {int r, g, b; };

Yes, you are right, sorry.
And they are also aligned so that the size of the struct is 4 bytes
Logged

Want to create DEEP Mandelbrot fractals 100 times faster than the commercial programs, for FREE? One hour or one minute? Three months or one day? Try Kalles Fraktaler http://www.chillheimer.de/kallesfraktaler
http://www.facebook.com/kallesfraktaler
panzerboy
Fractal Lover
**
Posts: 242


« Reply #10 on: October 12, 2013, 04:44:40 AM »

Karl,

Is the 'Zoom size' parameter stored in the kfb file ?
I have a largeish zoom to e78 and in about 10 files there is noticeably absent details.
I corrected this by working backwards an setting the zoom location to each point and then manually saving the jpg and kfb map.
I saved to different names then used rename to proserve the originals as 'old' and then renamed the new files to be the same as the original.
But rtendering the video shows the rectangles within rectangles look of a video genreated with zoom out of 2 when the source frames were rendered with zoom size 4.
This happens when the movie maker hits the re-rendered frames, the first of which is about e15.
Up till then the video was rendering fine.
If its a matter of hacking the zoom size parameter in the KFB then I won't have to redo the 10 frames again.
Logged
Kalles Fraktaler
Fractal Senior
******
Posts: 1458



kallesfraktaler
WWW
« Reply #11 on: October 12, 2013, 09:22:04 AM »

No there is no info about the location in the KFB file, except the zoom level with two decimals in the file name.

When I correct a frame with blobs I do the following
- I open the final location (you have stored that right?) It is not necessary to render it completely, so stop it with escape.
- I calculate the exact zoom size. If frame with number 100 is to be replaced, i.e. file name is like 00100_1e057, the exact zoom is calculated by dividing the final zoom with 2^99 (if 2 is the selected zoom size)
- I use this value in the set location dialog.
- I then save and replace the KFB and jpg files. The movie maker search for all jpg/KFB files in the folder so it is best storing the incorrect ones somewhere else if you don't want to delete them.

I have also tried to use the 2 decimal zoom level value from the filename and it did not give any visible rectangles, at least for lower resolutions.
Logged

Want to create DEEP Mandelbrot fractals 100 times faster than the commercial programs, for FREE? One hour or one minute? Three months or one day? Try Kalles Fraktaler http://www.chillheimer.de/kallesfraktaler
http://www.facebook.com/kallesfraktaler
panzerboy
Fractal Lover
**
Posts: 242


« Reply #12 on: October 12, 2013, 12:31:24 PM »

Sounds like the only thing I'm doing different is keeping the old .kfbs and .jpgs in the directory.
I'll move them aside and see it that fixes things.

Thanks Karl.
Logged
Pages: [1]   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Article about Fractal Data Compression Compression Jules Ruis 2 8535 Last post March 04, 2010, 11:16:26 PM
by Nahee_Enterprises
Fractal eXtreme Fractal eXtreme « 1 2 3 4 5 » poorfuckedupnature 66 62378 Last post March 12, 2012, 09:41:04 AM
by cKleinhuis
fractal extreme saving par files. Help & Support zapranoth 7 1158 Last post August 10, 2010, 10:04:17 PM
by teamfresh
fractal dimension project - country borders as digital data ?! General Discussion cKleinhuis 3 1494 Last post December 02, 2012, 03:41:45 PM
by cbuchner1
Fractal eXtreme data's General Discussion SeryZone 5 4102 Last post January 07, 2014, 11:47:11 AM
by panzerboy

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.161 seconds with 24 queries. (Pretty URLs adds 0.009s, 2q)