MetaStalk is a tool that can be used to generate graphs from the metadata of JPEG, TIFF, and HEIC images

Overview

MetaStalk

GitHub Gitlab pipeline status (branch) PyPI - Python Version PyPI Code style: black

Maintainability codecov Codacy Badge

Scrutinizer Code Quality Language grade: Python

About

MetaStalk is a tool that can be used to generate graphs from the metadata of JPEG, TIFF, and HEIC images, which are tested. More formats are supported but untested. It currently creates graphs for:

  • GPS coordinates (map)
  • Focal Length, Camera model, Camera manufacturer, Producer information (Pie Chart)
  • Timestamp information (Chart)

Examples photos from ianare/exif-samples, exiftool, drewmpales/metadata-extractor-images.

All development is done on GitLab and mirrored to GitHub. Please read contributing.md for development.

Metastalk is supported and tested on the following Python versions:

  • 3.6
  • 3.7
  • 3.8
  • 3.9

How to use

MetaStalk is available as a package on pypi.org or you can do a source install.

usage: MetaStalk [-h] [-a] [-d] [-e {pdf,svg,webp,jpeg,png,html,html_offline}]
                 [--export-only] [--no-open] [-o OUTPUT] [-t] [-v]
                 [files [files ...]]

Tool to graph image metadata.

positional arguments:
  files                 Path of photos to check.

optional arguments:
  -h, --help            show this help message and exit
  -a, --alphabetic      Sorts charts in alphabetical order rather than the
                        default order
  -d, --debug           Sets logging level to DEBUG.
  -e {pdf,svg,webp,jpeg,png,html,html_offline}, --export {pdf,svg,webp,jpeg,png,html,html_offline}
                        Exports the graphs rather than all on one web page
  --export-only         Makes it so that MetaStalk only export
  --no-open             Will only start the server and not open the browser to
                        view it
  -o OUTPUT, --output OUTPUT
                        The name of the directory to output exports to. Will
                        be created if it does not exist. Defaults to
                        metastalk_exports.
  -t, --test            Does not show the graphs at the end.
  -v, --verbose         Sets logging level to INFO

Extras

MetaStalk has extra installs available for an increased feature set.

  • metastalk[image] Allows for exporting charts to images in png, jpeg, webp, svg and pdf formats.

PyPi Install (Recommended)

pip install metastalk
metastalk <Path to files>
#i.e. metastalk ./ExamplePhotos/

Source Install

git clone https://gitlab.com/Cyb3r-Jak3/metastalk
cd metastalk
setup.py install
metastalk <Path to files>
#i.e. metastalk ./ExamplePhotos/

Docker

There are docker images available to run Metastalk. The image only process and opens the webpage. It does not offer the option to export the results.

Images are available from both DockerHub and GitLab.

  • cyb3rjak3/metastalk:latest
  • registry.gitlab.com/cyb3r-jak3/metastalk:latest

To run: docker run -it -v $(pwd)/ExamplePhotos:/photo:ro cyb3rjak3/metastalk

Wait until the photos have been process then open your browser to localhost:8052

Disclaimer

This is for educational/proof of concept purposes only. What you do with MetaStalk is your responsibility.

DeepSource DeepSource

You might also like...
missing-pixel-filler is a python package that, given images that may contain missing data regions (like satellite imagery with swath gaps), returns these images with the regions filled.
missing-pixel-filler is a python package that, given images that may contain missing data regions (like satellite imagery with swath gaps), returns these images with the regions filled.

Missing Pixel Filler This is the official code repository for the Missing Pixel Filler by SpaceML. missing-pixel-filler is a python package that, give

Python Image Morpher (PIM) is a program that can take two images and blend them to whatever extent or precision that you like
Python Image Morpher (PIM) is a program that can take two images and blend them to whatever extent or precision that you like

Python Image Morpher (PIM) is a program that can take two images and blend them to whatever extent or precision that you like! It is designed to emulate some of Python's OpenCV image processing from scratch without reference.

Generates images of calendar month tables and can paste them onto suitable photos.
Generates images of calendar month tables and can paste them onto suitable photos.

📆 calendizer README Generates images of calendar month tables and can paste them onto suitable photos. A quick way to make your own calendar for prin

Raven is a tool written in Python3 allowing you to generate an unique image with some text.
Raven is a tool written in Python3 allowing you to generate an unique image with some text.

🐦 Raven is a tool written in Python3 allowing you to generate an unique image with some text. It does it by searching the text on Google, do

A GUI-based (PyQt5) tool used to design 2D linkage mechanism.
A GUI-based (PyQt5) tool used to design 2D linkage mechanism.

Pyslvs-UI A GUI-based (PyQt5) tool used to design 2D linkage mechanism. Planar Linkages Simulation Python-Solvespace: Kernel from Solvespace with Cyth

Rembg is a tool to remove images background.
Rembg is a tool to remove images background.

Rembg is a tool to remove images background.

A tool for hiding data inside of images

Stegenography-tool a tool for hiding data inside of images Quick test: do python steg-encode.py test/message.txt test/covid19.png to generate the test

Png2Jpg tool will help you convert from png image format to jpg images format.

PNG 2 JPG All codes assume running from root directory. Please update the sys path at the beginning of the codes before running. Over View Png2Jpg too

A simple image-level annotation tool supporting multi-channel images for napari.
A simple image-level annotation tool supporting multi-channel images for napari.

napari-labelimg4classification A simple image-level annotation tool supporting multi-channel images for napari. This napari plugin was generated with

Releases(v2.2.1)
  • v2.2.1(May 11, 2020)

  • v2.2.post1(May 8, 2020)

    v2.2.0 - 2020-05-08

    Added

    • Sub-directory support.
    • HEIC and HEIF file support.
    • Added WebP, JPEG image export options.

    Changed

    • Moved all requirements files to a requirements directory.
    • Moved to exifread from hachoir to enable more options and heic support.
    • HTML exports uses cdn for scripts.
    • Removed some lines from coverage checks as they can no be processed.
    Source code(tar.gz)
    Source code(zip)
    MetaStalk-2.2.post1-py3-none-any.whl(21.82 KB)
    MetaStalk-2.2.post1.linux-x86_64.tar.gz(19.90 KB)
    MetaStalk-2.2.post1.tar.gz(9.80 KB)
  • v2.1.0(May 6, 2020)

    [v2.1.0]- 2020-05-06

    Added

    • Ability to pass both directories and individual files.
    • Unittests for testing.
    • Footer for run time.
    • Export feature.
    • Added metastalk dev and image install.
    • Codacy
    • Two new arguments --no-open and --alphabetic.
      • --no-open will make it so a new browser tab is not opened.
      • --alphabetic will sort all the charts alphabetically.

    Changed

    • Created MetaStalk Class.
    • All titles for charts are centered.
    Source code(tar.gz)
    Source code(zip)
    MetaStalk-2.1.0-py3-none-any.whl(19.52 KB)
    MetaStalk-2.1.0.tar.gz(8.06 KB)
  • v2.0.0(May 5, 2020)

    [v2.0.0] - 2020-05-03

    Rename to MetaStalk

    Rename to MetaStalk to create PyPi package and a lot backend development changes.

    Added

    • License scanning
    • Codecov
    • Pipfile and Pipfile.lock for pipenv.
    • Added .gitlab folder for service desk.
    • setup.py for pypi.

    Changed

    • Reverted dependency scanner to default template.
    • Name from PyStalk to MetaStalk as PyStalk is taken.
    • Moved all files to MetaStalk directory.
    • Moved ExamplePhotos to own directory.
    • License scanning now only on master branch and tags.
    • Can only run on from package.

    Removed

    • Dropped support for Python 3.5 as hachoir does not support it.
    • Dropped using pipenv for pipeline.
    • Markdownlint check in codeclimate.
    Source code(tar.gz)
    Source code(zip)
  • v1.3.3(Jan 10, 2020)

    [v1.3.3] - 2020-01-10

    Changed

    • Split directory searching and individual file searching to their own functions.
    • Dependency scanning only takes place for master branch and scheduled runs.

    Removed

    • fixme plugin for codeclimate

    [v1.3.2] - 2019-12-21

    Changes made to testing and PyStalk. No new functionality added.

    Source code(tar.gz)
    Source code(zip)
  • v1.3.2(Dec 21, 2019)

    [v1.3.2] - 2019-12-21

    Changes made to testing and PyStalk. No new functionality added.

    Added

    • Added time reporting for how long it took.

    Changed

    • Added multiple coverage run.
    • Readme now used LF line endings.
    • Modified tests run on code climate.
    • Split up the main function in PyStalk to setup and run.
    • Changed linting so that it happens before for all python versions.
    Source code(tar.gz)
    Source code(zip)
  • v1.3.1(Dec 16, 2019)

    [v1.3.1] - 2019-12-16

    Changed

    • Changed so code coverage only run on python 3.7
    • Removed random from code climate
    • Updated Datetime to remove duplicate code.
    • Changed DateTime date_time
    Source code(tar.gz)
    Source code(zip)
  • v1.2(Dec 5, 2019)

    [v1.2] - 2019-12-04

    Added

    • Added 5 more example photos.
    • Artifact in build stage to view logs, bandit and coverage reports.
    • Added flash analyzer to show levels of flash.
    • Added Software and Focal charts.
    • Deepsource tracking.

    Changed

    • Made the logger wipe old log file.
    • Better try/expect for GPSCheck and DateTime.
    • Fixed Text Align.
    • Renamed Pylint rc file to correct name for building.
    • Title location for Model chart.
    • Fixed module descriptions.
    • Updated app title.
    • Updated app header.

    Removed

    • Removed Static Testing.
    Source code(tar.gz)
    Source code(zip)
  • v1.1(Dec 5, 2019)

    Added

    • Try/except in app.py for dash for a clean exit
    • Logging feature which gets created with the logger in utils
    • Custom log levels arguments
    • Favicon in the assets folder
    • Modules folders contain all graphing features.
      • Easier for future development
    • The table that reports the GPS timestamp

    Changed

    • Made plots a dictionary to improve graph name
    • Moved Geo title to initial figure
    • Changed web browser open to localhost to deal with HTTP Everywhere.
    • Added all extra python code to utils directory
    • Added option to disable invalid name in pylint rcfile
    • Moved, GPS_Chart, Model_Chart, and Stats to modules
    • Added development branch coverage
    • Moved Photo stats to the top
    • Renamed app.py to web.py
    • Changed GPS check to seeing if there is latitude
    Source code(tar.gz)
    Source code(zip)
Owner
Cyb3r Jak3
Computer Networking & Cyber Security with a passion for Python. Got a cool idea for a project? Reach out to me!
Cyb3r Jak3
View images in the terminal using ansi escape codes and python

terminal-photo-viewer view images in the terminal using ansi escape codes and python !! Only tested on Ubuntu 20.04.3 LTS with python version 3.8.10 D

1 Nov 30, 2021
Pnuemonia Normal detection by using XRay images.

Pnuemonia Normal detection by using XRay images. Got image datas from kaggle(link is given in sources.txt file) also normal xray images from other site (also link is given) in order to avoid data dis

Zarina 1 Feb 28, 2022
EmbedToolV2 - 2.0 Version of DraKenCodeZ/ImageEmbedTool

EmbedToolV2 - 2.0 Version of DraKenCodeZ/ImageEmbedTool

DraKenCodeZ 1 Dec 07, 2021
pix2tex: Using a ViT to convert images of equations into LaTeX code.

The goal of this project is to create a learning based system that takes an image of a math formula and returns corresponding LaTeX code.

Lukas Blecher 2.6k Dec 30, 2022
Conversion of Image, video, text into ASCII format

asciju Python package that converts image to ascii Free software: MIT license

Aju Tamang 11 Aug 22, 2022
ProsePainter combines direct digital painting with real-time guided machine-learning based image optimization.

ProsePainter Create images by painting with words. ProsePainter combines direct digital painting with real-time guided machine-learning based image op

Morphogen 276 Dec 17, 2022
This is an app that allows users to upload photos and display and store the photos in a file until the user deletes them.

Qt Photo App This is an app that allows users to upload photos and display and store the photos in a file until the user deletes them. Setup python3 -

Kathy Yang 5 Jan 22, 2022
A Toolbox for Image Feature Matching and Evaluations

This is a toolbox repository to help evaluate various methods that perform image matching from a pair of images.

Qunjie Zhou 342 Dec 29, 2022
Pixel Brush Processing Unit

Pixel Brush Processing Unit The Pixel Brush Processing Unit (PBPU for short) is a simple 4-Bit CPU I designed in Logisim while I was still in school a

Pixel Brush 2 Nov 03, 2022
Python scripts for semi-automated morphometric analysis of atolls from Landsat satellite Imagery.

AtollGeoMorph Python scripts for semi-automated morphometric analysis of atolls from Landsat satellite Imagery. The python scripts included allow user

1 Dec 16, 2022
imgAnalyser - Un script pour obtenir la liste des pixels d'une image correspondant à plusieurs couleurs

imgAnalyser - Un script pour obtenir la liste des pixels d'une image correspondant à plusieurs couleurs Ce script à pour but, à partir d'une image, de

Théo Migeat 1 Nov 15, 2021
HTML2Image is a lightweight Python package that acts as a wrapper around the headless mode of existing web browsers to generate images from URLs and from HTML+CSS strings or files.

A package acting as a wrapper around the headless mode of existing web browsers to generate images from URLs and from HTML+CSS strings or files.

176 Jan 01, 2023
An ascii art generator that's actually good. Does edge detection and selects the most appropriate characters.

Ascii Artist An ascii art generator that's actually good. Does edge detection and selects the most appropriate characters. Installing Installing with

18 Jan 03, 2023
kikuchipy is an open-source Python library for processing and analysis of electron backscatter diffraction (EBSD) patterns

kikuchipy is an open-source Python library for processing and analysis of electron backscatter diffraction (EBSD) patterns. The library builds on the

pyxem 53 Dec 29, 2022
Repair broken bookmarks to referenced files in Apple Photos

Repair Apple Photos Bookmarks Work in progress to repair file location bookmarks in Apple Photos. Background Starting in macOS 10.15/Catalina, photos

Rhet Turnbull 10 Nov 03, 2022
Img-to-ascii-art - Converter of image to ascii art

img-to-ascii-art Converter of image to ascii art Latest Features. Intoducing Col

1 Dec 31, 2021
This Web App lets you convert your Normal Image to a SKETCHED one within a minute

This Web App lets you convert your Normal Image to a SKETCHED one within a minute

Avinash M 25 Nov 10, 2022
python app to turn a photograph into a cartoon

Draw This. Draw This is a polaroid camera that draws cartoons. You point, and shoot - and out pops a cartoon; the camera's best interpretation of what

Dan Macnish 2k Dec 19, 2022
A utility for quickly cropping large collections of images.

Crop Tool A utility for quickly cropping large collections of images. Inspired by Derrick Schultz's dataset-tools. Setup It's suggested that you use A

dusk (they/them) 6 Nov 14, 2021
Python class that generates pixel art from images

Python class that generates pixel art from images

Richard Nagyfi 1.4k Dec 29, 2022