# Configuration Options DeepDrill is configured by specifying one or more profiles as command line parameters. Each profile contains a certain number of key-value pairs organized in sections. A typical profile looks like this: ```INI [image] width = 960 height = 540 [perturbation] tolerance = 1e-6 rounds = 50 [approximation] coefficients = 5 ``` Each option is briefly explained below: ## Key-value pairs ### Section `[location]` |
Key
|
Default value
| Description | |-----|---------|-------------| | `real` | 0.0 | The real part of the image's center coordiate. | `imag` | 0.0 | The imaginary part of the image's center coordiate. | `zoom` | 1.0 | The magnification level of the image. | `depth` | 1.0 | The Maximum number of iterations. | `escape` | 1e32 | Once the iterated value gets bigger than this value, the corresponding coordinate is considered to be part of the Mandelbrot set. ### Section `[map]` |
Key
|
Default value
| Description | |-----|---------|-------------| | `width` | 1920 | The horizontal resolution of the drill map. If this key is not specified, the width of the drill map is automatically chosen to match the image width. | `height` | 1080 | The vertical resolution of the drill map. If this key is not specified, the width of the drill map is automatically chosen to match the image height. ### Section `[mapfile]` | `compress` | yes | Indicates whether map files should be saved in compressed format. ### Section `[image]` |
Key
|
Default value
| Description | |-----|---------|-------------| | `width` | 1920 | The horizontal resolution of the image in pixels. | `height` | 1080 | The vertical resolution of the image in pixels. ### Section `[video]` |
Key
|
Default value
| Description | |-----|---------|-------------| | `framerate` | 60 | Frames per second of the computed video. By default, videos with 60 fps are computed to match the frame rate of standard TFTs. | `keyframes` | *derived* | Number of keyframes of the final video. If this key is not specified, DeepDrill derives the number from the zoom factor given in the location section. | `startframe` | 0 | Number of the keyframe where the video starts. | `velocity` | 1.0 | Zoom speed. The assigned value defines the time interval between two keyframes in seconds. | `bitrate` | 8000 | This value is passed directly to the FFmpeg backend. Higher values result in better image quality. ### Section `[palette]` |
Key
|
Default value
| Description | |-----|---------|-------------| | `image` | - | Path to an image file storing the color palette. DeepDrill will derive the color palette from the uppermost horizontal line of the image. | `bgcolor` | black | Background color. This color is used for colorizing pixels belonging to the Mandelbrot set. | `mode` | smooth | Coloring mode. Options are `classic` and `smooth`. | `scale` | 1.0 | An optional scaling factor that can be used to stretch or shrink the color palette. | `offset` | -0.15 | An optional offset that can be used to rotate the color palette. ### Section `[distance]` |
Key
|
Default value
| Description | |-----|---------|-------------| | `threshold` | 0.0 | This value is used by the distance-estimation filter. A pixel is considered to be part of the Mandelbrot set if its distance estimate is below the threshold value. Smaller numbers lead to more fine-grained images. ### Section `[texture]` |
Key
|
Default value
| Description | |-----|---------|-------------| | `image` | - | Path to an overlay image. If an overlay image is specified, the derived color value will be mixed with the pixels from the overlay image. | `opacity` | 0.5 | The weight factor used to mix color pixels and overlay pixels. | `scale` | 1.0 | An optional scaling factor that can be used to stretch or shrink the overlay image. | `offset` | 0.0 | An optional offset that can be used to rotate the overlay image. ### Section `[lighting]` |
Key
|
Default value
| Description | |-----|---------|-------------| | `enable` | no | Indicates whether the normal map should be utilized to create a spatial image. | `alpha` | 45 | The direction of the incoming light on the xy plane. | `beta` | 45 | The inclination of the light source. ### Section `[gpu]` |
Key
|
Default value
| Description | |-----|---------|-------------| | `colorizer` | gradient.glsl | Path to a GLSL shader. The colorizer is the first of three GPU shaders. It utilzes the color palette to derive a RGB value for each pixel. | `illuminator` | lambert.glsl | Path to a GLSL shader. The illuminator is the second of three GPU shaders. It applies a lighting model to create a spatial images. This shader is skipped if lighting is disabled. | `scaler` | tricubic.glsl | Path to a GLSL shader. The scaler is the third of three GPU shaders. It scales the internal image down to the final image. ### Section `[perturbation]` |
Key
|
Default value
| Description | |-----|---------|-------------| | `enable` | yes | Indicates if perturbation should be used to calculate the image. If set to false, DeepDrill falls back to the (very slow) standard algorithm. | `tolerance` | 1e-6 | This value is used by the perturbation algorithm. Please refer to the *Theory* section for details. | `badpixels` | 0.001 | Percentage of pixels that are allowed to be miscolored. | `rounds` | 50 | This value is used by the perturbation algorithm. Please refer to the *Theory* section for details. | `color` | black | Color used for colorizing glitch points. ### Section `[approximation]` |
Key
|
Default value
| Description | |-----|---------|-------------| | `enable` | yes | Indicates if series approximation should be used to calculate the image. If set to false, the iteration always starts at 0. Please refer to the *Theory* section for details. | `coefficients` | 5 | This value is used by the series approximation algorithm. Please refer to the *Theory* section for details. | `tolerance` | 1e-12 | This value is used by the series approximation algorithm. Please refer to the *Theory* section for details. ### Section `[areachecking]` |
Key
|
Default value
| Description | |-----|---------|-------------| | `enable` | yes | Specifies whether each pixel is to be tested for belonging to the main bulb or the cartioid. If the test is positive, the pixel is known to belong to the Mandelbrot set without further calculations. | `color` | black | Color used for colorizing pixels with a positive area check. ### Section `[attractorcheck]` |
Key
|
Default value
| Description | |-----|---------|-------------| | `enable` | yes | Specifies whether attractor checking should be carried out. If the test is positive, the pixel is known to belong to the Mandelbrot set without further calculations. | `tolerance` | 1e-34 | Tolerance for considering two values as beeing equal. | `color` | black | Color used for colorizing pixels with a positive attractor check. ### Section `[periodcheck]` |
Key
|
Default value
| Description | |-----|---------|-------------| | `enable` | yes | Specifies whether period checking should be carried out. If the test is positive, the pixel is known to belong to the Mandelbrot set without further calculations. | `tolerance` | 1e-74 | Tolerance for considering two values as beeing equal. | `color` | black | Color used for colorizing pixels with a positive period check.