Skip to content

MarlonGarcia/imfun

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

102 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Image Functions Library

Library for image pre-processing, with functions to handle and prepare images for machine learning and image processing. This library accounts for functions to load and plot a group of images, pre-processing, choose ROI regions (even polygonal), choose points, get image properties, align and transform images (including rotate, scale, etc.), filter signals and images (2D data), among others. All the functions with GUI (stands for graphical user interface) have an interface to interact with the user.

1. Functions to Load and Plot

  • load_gray_images: loads all images from a folder, in grayscale
  • load_color_images: loads all color images from a folder
  • plot_gray_images: prints all grayscale images from a variable 'I'
  • plot_color_images: prints all color images from a variable 'I'
  • plot_gray: prints a grayscale image
  • plot_bgr: prints a color image in BGR format
  • list_folders: list all folders inside a directory
  • list_images: list all images inside a folder
  • read_lsm: reading and mounting images of '.lsm' extension from Zeiss microscope

2. Pre-Processing for Machine Learning and Computer Vision (Important Ones)

2.1. Preparing Data for Artificial Intelligence (e.g. labeling) *

  • label_image_segments: label segments from all images in a given folders (with a GUI to interact with the mouse, very automated function!). It remenbers the images you previously segmented.*
  • label_sequence_from_image: label sequences in profiles acquried from images (interact with the mouse to choose the profile in the image and the points in the graph!) *
  • select_points_from_sequence: label points in a sequence interacting with the mouse (choose points in a sequence for labeling part of that sequence or for labeling points)

2.2. ROI and Handling (Important Ones)

  • polyroi: GUI to create a polygonal region of interest (ROI)
  • crop_image: GUI to create a rectangular crop in an image
  • crop_multiple: crops multiple images using the same crop from 1st image
  • crop_poly_multiple: polygonal crop multiple images based on 1st cropping
  • choose_points: GUI to interact with the user to choose points in an image
  • imchoose: function to choose images in a given set of images (with GUI)
  • imroiprop: getting properties from an image ROI
  • roi_stats: get statistics from a region choosen by the user, for images of multiple experiments (important!)
  • roi_stats_in_detph: choose a region, and get the detailed statistics of this region, as a function of a given direction defined by the user. Applications: statistics of pixels from a tumor, from surface to the depth, e.g. in microscope fluorescence of histological slides (see an example in the next gif image):

me

2.3. Image Alignment and Transformation

  • rotate2D: rotate points by an angle about a center
  • flat2im: transforms a flat vector into a 2D image
  • im2flat: transforms a 2D image in a flat vector
  • scale255: scales an image to the [0, 255] range
  • align_features: Align images with Feature-Based algorithm, from OpenCV (maybe not working)
  • align_ECC: image alignment using ECC algorithm from OpenCV (diffuse image)
  • imwarp: function to warp a set of images using a warp matrix (maybe not working)

3. Filtering Images and Signals

  • filter_finder: study and find which filter to use (for signals, 1D)
  • highpass_gauss: high-pass Gaussian filter for images (2D)
  • highpass_fft: high-pass image (2D) filter based on FFT
  • lowpass_fft: low-pass image (2D) filter based on FFT
  • filt_hist: filtering histograms with zero/null values (removing zeros)

4. Bonus Functions

  • beep: making 'beeps' to help warn when a long algorithm has finished
  • good_colormaps: visualizing the best Matplotlib colormaps in an image
  • improfile: finds the pixels' intensity profile between two points (GUI) (maybe not working)

5. Tutorials and Examples

Inside the tutorials folder there are some examples of using the functions of this library. In this folder, the files with name EXAMPLE_name.py present an example of using the function indicated by the name part.

6. How to Install

You can install using pip:

pip install image-functions==0.1.12

OBS: some functions use the 'pynput' and 'windsound' libraries, which may be difficult to install and do not works on non-windows platforms. Comment on these library imports if there are problems during installation or loading.

If you have other versions of this library installed, please remove it first:

pip uninstall image-functions

pip install image-functions==0.1.12

7. Scientific Research

This work is the product of the research being conducted at two universities in Brazil:

Sao Paulo State University (Unesp)

  • Dept. of Electronic and Telecommunication Engineering
  • School of Engineering, Campus of Sao Joao da Boa Vista
  • website: https://www.sjbv.unesp.br/

University of São Paulo (USP)

About

Imaging functions library

Resources

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
LICENSE.rst

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages