Git Product home page Git Product logo

python-x-ray-effect-tool's Introduction

X-ray Image Effect Project

This project applies an X-ray effect to images using Python and the Python Imaging Library (PIL). It is a useful tool for creating datasets with characteristics of x-ray images.


Environment Setup

Prerequisites

  • Python 3.x
  • pip (Python package manager)

Setting Up a Virtual Environment

  1. Create a Virtual Environment:

In your terminal, navigate to your project directory and run:

python -m venv .venv

This will create a virtual environment named .venv in your project directory.

  1. Activate the Virtual Environment:
  • On Windows, run:
    .\venv\Scripts\activate
    
  • On Linux or macOS, run:
    source venv/bin/activate
    

Installing Dependencies

With the virtual environment activated, install the necessary dependencies by running:

pip install -r requirements.txt

Project Configuration

  1. Application Settings:

Configure the input and output paths in the src/config.py file. For example:

APP_PATH_INPUT_IMAGES = 'path/to/input/images/directory'
APP_PATH_OUTPUT_IMAGES = 'path/to/output/images/directory'

Usage

To use the application, ensure the virtual environment is activated. In the root directory of the project, run:

python main.py

This will process all images in the specified input directory and save the X-ray effect images to the output directory.


Additional Notes

  • Ensure the input directory contains images in supported formats (.png, .jpg, .jpeg, .webp).
  • The script will create the output directory if it does not exist.

License

This project is open-sourced and available to everyone under the MIT License.

python-x-ray-effect-tool's People

Contributors

renan-siqueira avatar

Stargazers

 avatar

Watchers

 avatar

python-x-ray-effect-tool's Issues

Implement Graphical User Interface for X-ray Image Effect Tool

Description

The current version of the X-ray Image Effect tool operates via a command-line interface, which, while functional, may not be the most user-friendly approach for all potential users. To enhance accessibility and ease of use, there is a need to implement a graphical user interface (GUI).

Objectives

  • User-Friendly Interface: Develop a simple and intuitive GUI that allows users to easily select input and output directories, and view a list of supported image formats.

  • Image Preview: Implement functionality to preview images before and after the
    X-ray effect is applied.

  • Batch Processing: Enable users to select and process multiple images simultaneously through the GUI.

  • Error Handling: Display user-friendly error messages in the GUI, especially for common issues like file format incompatibility or read/write permissions.
    Cross-Platform Compatibility: Ensure that the GUI is compatible with different operating systems like Windows, macOS, and Linux.

Requirements

  • The GUI should be developed using a Python-compatible framework, such as Tkinter, PyQt, or Kivy.

  • The design should be clean and minimalistic, focusing on functionality and ease of use.

  • Integration with the existing logic of the application must be seamless and efficient.

Potential Challenges

  • Ensuring that the GUI is responsive and can handle large batches of images without significant performance drops.

  • Maintaining the simplicity of the interface while providing all necessary functionalities.

Set Up and Configure Pylint for Code Quality Assurance

Description

To maintain high standards of code quality and consistency, it's important to integrate a linter into our development workflow. Pylint, a widely used Python linter, should be set up and configured for this project.

Objectives

  • Pylint Installation: Ensure that Pylint is installed as part of the development environment.
  • Configuration File: Create a .pylintrc file to customize Pylint rules and standards specific to this project.
  • Integration with Existing Workflow: Integrate Pylint checks into our existing development process, possibly as a pre-commit hook or as part of the CI/CD pipeline.
  • Documentation: Update the project's README or contributing guidelines with instructions on how to use Pylint for code checks.

Requirements

  • Pylint should be configured to enforce a coding standard that is consistent with Python best practices.
  • The configuration should be flexible enough to allow exceptions where necessary, without compromising overall code quality.
  • Developers should be able to easily run Pylint checks locally on their code before committing.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.