--- title: Encrypted Photo Filtering App Using Homomorphic Encryption emoji: 📸 🌄 colorFrom: purple colorTo: purple sdk: gradio sdk_version: 3.2 app_file: app.py pinned: true tags: [FHE, PPML, privacy, privacy preserving machine learning, image processing, homomorphic encryption, security] python_version: 3.8.16 --- # Image filtering using FHE ## Running the application on your machine In this directory, ie `image_filtering`, you can do the following steps. ### Do once First, create a virtual env and activate it: ```bash python3 -m venv .venv source .venv/bin/activate ``` Then, install required packages: ```bash pip3 install pip --upgrade pip3 install -U pip wheel setuptools --ignore-installed pip3 install -r requirements.txt --ignore-installed ``` If you are not on Linux, you will need to generate the files manually before launching the app. See section [Generating new files](#generating-new-files). ## Run the following steps each time you relaunch the application In a terminal, run: ```bash source .venv/bin/activate python3 app.py ``` ## Interacting with the application Open the given URL link (search for a line like `Running on local URL: http://127.0.0.1:8888/`). ## Generating new files It is also possible to manually add some new filters in `filters.py`. Yet, in order to be able to use them interactively in the app, you first need to update the `AVAILABLE_FILTERS` list found in `common.py` and then compile them by running : ```bash python3 generate_dev_filters.py ``` Check it finishes well (by printing "Done!").