gbillotey / fractalshades Goto Github PK
View Code? Open in Web Editor NEWArbitrary-precision fractal explorer - Python package
License: MIT License
Arbitrary-precision fractal explorer - Python package
License: MIT License
When you zoom into locations that contain a lot of iterations (> 10 millions), the coloring becomes inaccurate and no longer smooth.
This banding is a limitation due to float32 precision, which is the precision used internally during post processing
Hi
My try on Ubuntu
pip install pip setuptools --upgrade
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: pip in ./.local/lib/python3.10/site-packages (22.3)
Requirement already satisfied: setuptools in ./.local/lib/python3.10/site-packages (65.5.0)
pip install fractalshades
Defaulting to user installation because normal site-packages is not writeable
Collecting fractalshades
Downloading fractalshades-0.5.6.tar.gz (16.5 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 16.5/16.5 MB 154.0 kB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting gmpy2>=2.1.2
Using cached gmpy2-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB)
Collecting mpmath>=1.1.0
Downloading mpmath-1.2.1-py3-none-any.whl (532 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 532.6/532.6 kB 238.5 kB/s eta 0:00:00
Requirement already satisfied: wheel>=0.37.0 in /usr/lib/python3/dist-packages (from fractalshades) (0.37.1)
Requirement already satisfied: Pillow in /usr/lib/python3/dist-packages (from fractalshades) (9.0.1)
Collecting numba>=0.52.0
Downloading numba-0.56.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.5 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.5/3.5 MB 258.8 kB/s eta 0:00:00
Collecting PyQt6>=6.1.0
Downloading PyQt6-6.4.0-cp37-abi3-manylinux_2_28_x86_64.whl (8.0 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.0/8.0 MB 261.2 kB/s eta 0:00:00
Requirement already satisfied: pygments>=2.9.0 in /usr/lib/python3/dist-packages (from fractalshades) (2.11.2)
Requirement already satisfied: setuptools in ./.local/lib/python3.10/site-packages (from numba>=0.52.0->fractalshades) (65.5.0)
Requirement already satisfied: numpy<1.24,>=1.18 in /usr/lib/python3/dist-packages (from numba>=0.52.0->fractalshades) (1.21.5)
Collecting llvmlite<0.40,>=0.39.0dev0
Downloading llvmlite-0.39.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (34.6 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 34.6/34.6 MB 287.3 kB/s eta 0:00:00
Collecting PyQt6-Qt6>=6.4.0
Downloading PyQt6_Qt6-6.4.0-py3-none-manylinux_2_28_x86_64.whl (56.5 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.5/56.5 MB 287.3 kB/s eta 0:00:00
Collecting PyQt6-sip<14,>=13.4
Downloading PyQt6_sip-13.4.0-cp310-cp310-manylinux1_x86_64.whl (310 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 310.6/310.6 kB 264.8 kB/s eta 0:00:00
Building wheels for collected packages: fractalshades
Building wheel for fractalshades (pyproject.toml) ... done
Created wheel for fractalshades: filename=fractalshades-0.5.6-cp310-cp310-linux_x86_64.whl size=900096 sha256=05e340eea6feebfdd4fbbc6af638867a716f6edd13b9823b819eb72aaf51d99c
Stored in directory: /home/a/.cache/pip/wheels/58/ba/8a/437c4c1de31e62d167668d05366457c608e29c81be770ca1c5
Successfully built fractalshades
Installing collected packages: PyQt6-Qt6, mpmath, gmpy2, PyQt6-sip, llvmlite, PyQt6, numba, fractalshades
Successfully installed PyQt6-6.4.0 PyQt6-Qt6-6.4.0 PyQt6-sip-13.4.0 fractalshades-0.5.6 gmpy2-2.1.2 llvmlite-0.39.1 mpmath-1.2.1 numba-0.56.3
a@zalman:~$ pip list -v
Package Version Location Installer
----------------------- --------------- ------------------------------------------- ---------
apturl 0.5.2 /usr/lib/python3/dist-packages
bcrypt 3.2.0 /usr/lib/python3/dist-packages
blinker 1.4 /usr/lib/python3/dist-packages
Brlapi 0.8.3 /usr/lib/python3/dist-packages
certifi 2020.6.20 /usr/lib/python3/dist-packages
chardet 4.0.0 /usr/lib/python3/dist-packages
chrome-gnome-shell 0.0.0 /usr/lib/python3/dist-packages
click 8.0.3 /usr/lib/python3/dist-packages
colorama 0.4.4 /usr/lib/python3/dist-packages
command-not-found 0.3 /usr/lib/python3/dist-packages
cryptography 3.4.8 /usr/lib/python3/dist-packages
cupshelpers 1.0 /usr/lib/python3/dist-packages
dbus-python 1.2.18 /usr/lib/python3/dist-packages
defer 1.0.6 /usr/lib/python3/dist-packages
Deprecated 1.2.13 /usr/lib/python3/dist-packages
distro 1.7.0 /usr/lib/python3/dist-packages
distro-info 1.1build1 /usr/lib/python3/dist-packages
duplicity 0.8.21 /usr/lib/python3/dist-packages
fasteners 0.14.1 /usr/lib/python3/dist-packages
fractalshades 0.5.6 /home/a/.local/lib/python3.10/site-packages pip
future 0.18.2 /usr/lib/python3/dist-packages
gmpy2 2.1.2 /home/a/.local/lib/python3.10/site-packages pip
httplib2 0.20.2 /usr/lib/python3/dist-packages
idna 3.3 /usr/lib/python3/dist-packages
importlib-metadata 4.6.4 /usr/lib/python3/dist-packages
jeepney 0.7.1 /usr/lib/python3/dist-packages flit
keyring 23.5.0 /usr/lib/python3/dist-packages
language-selector 0.1 /usr/lib/python3/dist-packages
launchpadlib 1.10.16 /usr/lib/python3/dist-packages
lazr.restfulclient 0.14.4 /usr/lib/python3/dist-packages
lazr.uri 1.0.6 /usr/lib/python3/dist-packages
llvmlite 0.39.1 /home/a/.local/lib/python3.10/site-packages pip
lockfile 0.12.2 /usr/lib/python3/dist-packages
louis 3.20.0 /usr/lib/python3/dist-packages
macaroonbakery 1.3.1 /usr/lib/python3/dist-packages
Mako 1.1.3 /usr/lib/python3/dist-packages
Markdown 3.3.6 /usr/lib/python3/dist-packages
MarkupSafe 2.0.1 /usr/lib/python3/dist-packages
monotonic 1.6 /usr/lib/python3/dist-packages
more-itertools 8.10.0 /usr/lib/python3/dist-packages
mpi4py 3.1.3 /usr/lib/python3/dist-packages
mpmath 1.2.1 /home/a/.local/lib/python3.10/site-packages pip
netifaces 0.11.0 /usr/lib/python3/dist-packages
notify2 0.3 /usr/lib/python3/dist-packages
numba 0.56.3 /home/a/.local/lib/python3.10/site-packages pip
numpy 1.21.5 /usr/lib/python3/dist-packages
oauthlib 3.2.0 /usr/lib/python3/dist-packages
olefile 0.46 /usr/lib/python3/dist-packages
paramiko 2.9.3 /usr/lib/python3/dist-packages
pexpect 4.8.0 /usr/lib/python3/dist-packages
Pillow 9.0.1 /usr/lib/python3/dist-packages
pip 22.3 /home/a/.local/lib/python3.10/site-packages pip
protobuf 3.12.4 /usr/lib/python3/dist-packages
ptyprocess 0.7.0 /usr/lib/python3/dist-packages flit
PyAbel 0.8.5 /home/a/.local/lib/python3.10/site-packages pip
pycairo 1.20.1 /usr/lib/python3/dist-packages
pycups 2.0.1 /usr/lib/python3/dist-packages
Pygments 2.11.2 /usr/lib/python3/dist-packages
PyGObject 3.42.1 /usr/lib/python3/dist-packages
PyJWT 2.3.0 /usr/lib/python3/dist-packages
pymacaroons 0.13.0 /usr/lib/python3/dist-packages
PyNaCl 1.5.0 /usr/lib/python3/dist-packages
pyOpenSSL 21.0.0 /usr/lib/python3/dist-packages
pyparsing 2.4.7 /usr/lib/python3/dist-packages
PyQt5 5.15.6 /usr/lib/python3/dist-packages sip-build
PyQt5-sip 12.9.1 /usr/lib/python3/dist-packages
PyQt6 6.4.0 /home/a/.local/lib/python3.10/site-packages pip
PyQt6-Qt6 6.4.0 /home/a/.local/lib/python3.10/site-packages pip
PyQt6-sip 13.4.0 /home/a/.local/lib/python3.10/site-packages pip
pyRFC3339 1.1 /usr/lib/python3/dist-packages
python-apt 2.3.0+ubuntu2.1 /usr/lib/python3/dist-packages
python-dateutil 2.8.1 /usr/lib/python3/dist-packages
python-debian 0.1.43ubuntu1 /usr/lib/python3/dist-packages
pytz 2022.1 /usr/lib/python3/dist-packages
pyxdg 0.27 /usr/lib/python3/dist-packages
PyYAML 5.4.1 /usr/lib/python3/dist-packages
reportlab 3.6.8 /usr/lib/python3/dist-packages
requests 2.25.1 /usr/lib/python3/dist-packages
scipy 1.9.3 /home/a/.local/lib/python3.10/site-packages pip
screen-resolution-extra 0.0.0 /usr/lib/python3/dist-packages
SecretStorage 3.3.1 /usr/lib/python3/dist-packages
setuptools 65.5.0 /home/a/.local/lib/python3.10/site-packages pip
six 1.16.0 /usr/lib/python3/dist-packages
ubuntu-advantage-tools 27.11.2 /usr/lib/python3/dist-packages
ubuntu-drivers-common 0.0.0 /usr/lib/python3/dist-packages
ufw 0.36.1 /usr/lib/python3/dist-packages
unattended-upgrades 0.1 /usr/lib/python3/dist-packages
urllib3 1.26.5 /usr/lib/python3/dist-packages
usb-creator 0.3.7 /usr/lib/python3/dist-packages
vedo 2021.0.7 /usr/lib/python3/dist-packages
wadllib 1.3.6 /usr/lib/python3/dist-packages
wheel 0.37.1 /usr/lib/python3/dist-packages
wrapt 1.13.3 /usr/lib/python3/dist-packages
xdg 5 /usr/lib/python3/dist-packages
xkit 0.0.0 /usr/lib/python3/dist-packages
zipp 1.0.0 /usr/lib/python3/dist-packages
a@zalman:~$ python3 run_interactive.py
python3: can't open file '/home/a/run_interactive.py': [Errno 2] No such file or directory
I have also donloaded scripts, But when I should put them to run ?
I see mention of using an output file as a DEM to use as input to blender, but there are no examples showing how to do this and
I can't see how to use Disp_layer to get a 32bit image file to use in blender.
I did try loading the stop_iter.arr file, but could not see how to map the long array to a 2d image
Pls update dependency asap and fix compatibility issue.
gmpy2.15 built release only supports python version <3.12 atm
numba version >0.57 deprecated generated_jit used by fractalshades and will output the following warnings:
ImportError: cannot import name 'generated_jit' from 'numba'
These failures might be a red herring, to be investigated.
Related PR: #155
It appears PR #112 (needed for compatibility with WINDOWS) has also introduced instability and crash when rendering large image esp. with supersampling. From first investigations, the solution seems to be: close all numpy memaps right after access, even in "r+" mode.
As a data point, rendering a 3200 x 3200 image with 5x5 supersampling crashes on my machine.
Hi,
Tx for great program
Can you write more about :
TIA
So, I am having an issue running the project on M1 Mac.
The error is as follows:
#warning "Using deprecated NumPy API, disable it with " \
^
src/fractalshades/mpmath_utils/FP_loop.c:790:10: fatal error: 'gmp.h' file not found
#include "gmp.h"
^~~~~~~
1 warning and 1 error generated.
error: command '/usr/bin/clang' failed with exit code 1
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for fractalshades
Failed to build fractalshades
ERROR: Could not build wheels for fractalshades, which is required to install pyproject.toml-based projects
I tried to look into the issue and found a similar solution for missing gmp.h here at OpenZeppelin/nile#22
However, the error still persists. I tried all the solutions mentioned, but am having issues running them.
A PIL.Image.DecompressionBombError is raised when the image size exceed a limit (as a data point, this is the case for a 40000 x 40000 image). Allow rendering images of larger size, or implement anti-aliasing for large images.
I have installed Fractalshades 1.0.1 on my computer.
I have exported a Python script from the Fractalshades GUI (see attachment, Stopped.py) and disabled the Newton calculation, because the center of the fractal is already known. The reference orbit has a length of 500 million. After approx. 3h of computing time, the program closes unexpectedly without any result. See attachment, Stopped.png. After reopening the program, it said that the orbit was calculated and the calculation of the image would begin. But then my computer froze. After 3-5 minutes the program stopped, again.
I believe this is unintentional and would appreciate further investigation.
PS: The logfile’s name is misspelled, it has a typo: It says “factalshades” instead of “fractalshades”.
Hi! I've long struggled to add the Magnet Mandelbrot in Kalles Fraktaler, so I figured the next best thing to do is to ask if it is possible to have both Types I and II Magnet Mandelbrot in Fractalshades?
These fractals deserve more love and exploration
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.