Skip to main content

🌀 falkourier

PyPI Version Python Versions License: MIT Creator Streamlit Cloud GitHub Stars

falkourier Epicycle Preview

High-precision Fourier Series Epicycle Drawing Engine & Animation Studio by @falkomeai.

Transform any portrait, sketch, or mathematical curve into a continuous closed tour drawn dynamically by rotating epicycle chains with exact real-time projection formulas, harmonic counters, and video export.


🌐 Live Interactive Demos


⚡ Installation

Install the core library and CLI tools directly from PyPI:

pip install falkourier

For AI-based background removal and segmentation features:

pip install "falkourier[ai]"

🚀 Instant Quickstart

1. Launch the Interactive Studio UI (No Code Required)

With falkourier installed, run one command in your terminal to start the full graphical studio:

falkourier-studio

Opens an interactive web application in your browser with real-time harmonic sliders, live previews, audio synchronization, and 60fps MP4 video rendering.


2. Generate Epicycle Videos from Terminal (CLI)

Generate high-resolution Fourier drawing videos directly from your command line:

# Render from an image (square format, 500 harmonics)
falkourier --image portrait.jpg --n 500 --save output/portrait.mp4

# Render vertical 9:16 Reel / TikTok format (1080x1920)
falkourier --shape hummingbird --n 300 --format reels --save output/reel.mp4

# Render from built-in curves (hummingbird, heart, star, butterfly, etc.)
falkourier --shape heart --n 200 --save output/heart.mp4

3. Python API Quickstart

Use falkourier programmatically in your Python scripts, Jupyter notebooks, or generative art pipelines:

import falkourier as fk

# 1. Load a built-in mathematical curve or extract from an image
path = fk.SHAPES["hummingbird"]()
# Or from an image:
# path = fk.extract_boundary_contour_path("portrait.jpg", target_points=4096)

# 2. Fit Dual-Chain Real Fourier Series (X & Y independent axes)
fit = fk.fit_fourier(path[:, 0], path[:, 1], n_harmonics=500)
print(f"X Fourier Coefficients: {len(fit['x_coeffs']['an'])} harmonics")
print(f"Y Fourier Coefficients: {len(fit['y_coeffs']['cn'])} harmonics")

# 3. Fit Single-Chain Complex Fourier Series (Rotating Vectors)
complex_fit = fk.fit_complex_fourier(path[:, 0], path[:, 1], n_harmonics=500)
print(f"Computed {len(complex_fit['harmonics'])} rotating epicycles ranked by radius.")

📐 Mathematical Decomposition

Fourier Mathematical Formulation

A continuous closed parametric curve $\gamma(t) = (x(t), y(t))$ for $t \in [0, 2\pi]$ is decomposed into harmonic frequencies:

Real Fourier Series

$$x_N(t) = \frac{a_0}{2} + \sum_{k=1}^N \left( a_k \cos(kt) + b_k \sin(kt) \right)$$ $$y_N(t) = \frac{c_0}{2} + \sum_{k=1}^N \left( c_k \cos(kt) + d_k \sin(kt) \right)$$

Complex Exponential Series

$$z_N(t) = \sum_{k=-N}^N c_k e^{i k t}, \quad c_k = \frac{1}{2\pi} \int_0^{2\pi} z(t) e^{-i k t} dt$$

Rotating circle tips trace the curve with > 99.99% mathematical accuracy at high harmonic counts ($N \ge 1024$).


✨ Core Capabilities

  • Ultra-High Harmonic Range: Compute up to $N = 4096$ harmonics for photo-accurate detail.
  • Continuous Closed Tour Chaining: Intelligent KD-tree algorithms connect disconnected contours into a single continuous drawing path.
  • Dual X/Y & Complex Single-Chain Modes: Visualize independent horizontal/vertical projection chains or single rotating vector arms.
  • Video Outro Comparison: Synthesizes end cards comparing original input against the reconstructed Fourier drawing with exact fit metrics.
  • Audio Looping: Automatic background soundtrack synchronization during video creation.

Outro Comparison Frame


👤 Creator & Attribution

Created & maintained by @falkomeai.

Licensed under the MIT License.

Metadata

Release files for falkourier 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for falkourier 1.0.1
File Size Uploaded Provenance Actions
falkourier-1.0.1.tar.gz 73.1 kB Without provenance Details for falkourier-1.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for falkourier 1.0.1
File Interpreter ABI Platform Actions
falkourier-1.0.1-py3-none-any.whl Python 3 none any Details for falkourier-1.0.1-py3-none-any.whl

Total release size: 143.4 kB

Release files / falkourier-1.0.1.tar.gz

Download URL falkourier-1.0.1.tar.gz
Size 73.1 kB
Tags Source
SHA-256 checksum
How to use checksums
17af015a9322b9b4c4aed3584d2a219d87c8efddf2427409d92f7158f075045c
BLAKE2b-256 checksum
How to use checksums
e73614dbb4d59903ede38ca8dd02b3281b7ecc119af1f6259509560b5aea7797
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / falkourier-1.0.1-py3-none-any.whl

Download URL falkourier-1.0.1-py3-none-any.whl
Size 70.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fbf199bd654ec25bac6631a502d7617bf7f78f10088d9cd55cd8fa88f18eb17a
BLAKE2b-256 checksum
How to use checksums
88ed8b4cca89d789f166309a30e62c282aea3d220e03f06de1038bb6004ca455
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Security for falkourier 1.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page