Here you can find several fractal programs created by me.

Fractal Image Compression Using Fractal Interpolation

Download IFS2D_Manager

We have developed a new method of image compression using Fractal Interpolation Surfaces. The theory underlying this technique is described in details in the papers "Image Compression Using Affine Fractal Interpolation Surfaces on Rectangular Lattices", Fractals Vol. 14, No. 4 (2006), p. 1-11 and "Image Compression Using Recurrent Bivariate Fractal Interpolation Functions", Internat. J. of Bifur. and Chaos Appl. Sci. Engrg., Vol. 141, No. 7 (2006) p. 99-117. Here you can find a windows based executable program that compresses any grayscale bitmap image using one of the above methods.

Quick User's Guide

  1. Using the command Open of the File menu one may open any bitmap grayscale picture.
  2. To compress the opened grayscale bitmap image we must use the command Compress from the Image Processing menu. In this case a new window appears (named Compression Properties), where we can adjust the compression parameters δ, ψ, Ε. More details about them can be found in the papers mentioned above. In general, smaller values give a better quality of the reconstructed image but a lower compression ratio. In addition we may change the desired compression method. The method entitled "Dynamic Bivariate Squares" is presented in the paper "Image Compression Using Recurrent Bivariate Fractal Interpolation Functions", while the method entitled "Dynamic Squares" is presented in the other paper (as the methods of the triangles).
  3. After the completion of the compression process, a new file is created in the same location as the original image. The new file has the ".fif" format and can be opened using the Open command of the File menu. Afterwards, one must select to view all files (instead of only ones of bitmap format which is the default option).

Pseudo Random Number Generation with the aid of Iterated Function Systems on R^2

Here you can find the code (in C++) of a PRNG based on IFSs. The .zip file contains the code and a Visual C++ project which you can use to create your own executable (in windows). The code follows the ANSI guidelines so you may compile it in UNIX or MACOSX as well. There is also an executable file (.exe).

The use of the program "Fractal_PRNG.exe" is quite simple. At first it prompts for the selection of the desired method (1-4). The user gives his/hers selection and then the program asks for the number of 1-byte integer numbers that form the seed and the number of total random numbers that the user wants to create. Afterwards the user gives the seed (as 1-byte integers) and the program starts to compute pseudo random numbers, which are stored in the file ".\bytes.bin". You can test the quality of the random numbers using the test programs you can found in the following pages.

  1. ENT TEST
  2. DIEHARD TEST
  3. NIST

Source code for Matlab

  1. The Deterministic Algorithm (DIA) for IFS defined on R^2: MYDIA_R2.m
  2. The Random Iteration Algorithm (RIA) for IFS defined on R^2: MYRIA_R2.m
  3. The Random Iteration Algorithm for RIFS defined on R^2: MYRRIA_R2.m
  4. Examples of Fractal Sets of R^2: Fractal Sets of R^2.m
  5. Construction of Affine Fractal Interpolation Functions: myFIF.m , myFIF2.m
  6. Construction of Affine Reccurent Fractal Interpolation Functions: myRFIF.m
  7. Examples of fractal interpolation functions: examples of FIFs.m