https://github.com/centre-for-humanities-computing/pixplot

docker container for pixplot

https://github.com/centre-for-humanities-computing/pixplot

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.4%) to scientific vocabulary
Last synced: 11 months ago · JSON representation

Repository

docker container for pixplot

Basic Info
  • Host: GitHub
  • Owner: centre-for-humanities-computing
  • License: mit
  • Language: JavaScript
  • Default Branch: master
  • Homepage:
  • Size: 2.54 MB
Statistics
  • Stars: 6
  • Watchers: 1
  • Forks: 3
  • Open Issues: 5
  • Releases: 0
Created almost 7 years ago · Last pushed over 3 years ago
Metadata Files
Readme License

README.md

CHC Pix plot docker container

A fork of DHLab's pix plot repository for demonstrations with custom image collections

About PixPlot

This repository contains code that can be used to visualize tens of thousands of images in a two-dimensional projection within which similar images are clustered together. The image analysis uses Tensorflow's Inception bindings, and the visualization layer uses a custom WebGL viewer.

App preview

Dependencies

You need to install Docker. If you are on Windows 7 or earlier, you may need to install Docker Toolbox instead.

The html viewer requires a WebGL-enabled browser.

Setup

1) set a title in the index.html file 1) copy jpg files into

./data/images

How To Generate the Pixplot

Download this repository by clicking the green "Clone or download" button and then "Download ZIP".

Unpack the zip file.

Start a terminal, cd into the folder that contains this README file.

Below steps each have numbered commands for later reference.

Generate the environment for your pixplot within a docker container (command 1):

```bash

command 1:

build the docker container

docker build --tag pixplot --file Dockerfile . ```

Process your collection into a pix plot (command 2).

Depending on the size of your image collection, this can take several hours. In our hackathon it took Max around 3.5 hours.

```

command 2:

process images from the VM collection

use the -v flag to mount directories from outside

the container into the container

docker run \ -v "$(pwd)/output:/pixplot/output" \ -v "$(pwd)/data/images:/pixplot/images" \ pixplot \ bash -c "cd pixplot && python3.6 utils/process_images.py images/*" ```

You now have generated your pixplot. The next step will start a web server to host your plot on http://localhost:5000

```

command3:

run the web server

docker run \ -v "$(pwd)/output:/pixplot/output" \ -p 5000:5000 \ pixplot \ bash -c "cd pixplot && python3.6 -m http.server 5000" ```

Curating Automatic Hotspots

By default, PixPlot uses k-means clustering to find twenty hotspots in the visualization. You can adjust the number of discovered hotspots by changing the n_clusters value in utils/process_images.py and re-running the script.

After processing, you can curate the discovered hotspots by editing the resulting output/plot_data.json file. (This file can be unwieldy in large datasets -- you may wish to disable syntax highlighting and automatic wordwrap in your text editor.) The hotspots will be listed at the very end of the JSON data, each containing a label (by default 'Cluster N') and the name of an image that represents the centroid of the discovered hotspot.

You can add, remove or re-order these, change the labels to make them more meaningful, and/or adjust the image that symbolizes each hotspot in the left-hand Hotspots menu. Hint: to get the name of an image that you feel better reflects the cluster, click on it in the visualization and it will appear suffixed to the URL.

Project Adaptations

  1. SMK 2020
  2. Artistic Exchange 21-24

Acknowledgements

The DHLab would like to thank Cyril Diagne, a lead developer on the spectacular Google Arts Experiments TSNE viewer, for generously sharing ideas on optimization techniques used in this viewer.

Owner

  • Name: Center for Humanities Computing Aarhus
  • Login: centre-for-humanities-computing
  • Kind: organization
  • Email: chcaa@cas.au.dk
  • Location: Aarhus, Denmark

GitHub Events

Total
Last Year

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 9
  • Total Committers: 3
  • Avg Commits per committer: 3.0
  • Development Distribution Score (DDS): 0.222
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Max Eckardt m****x@c****k 7
Max Roald Eckardt m****t@g****m 1
Kristoffer L. Nielbo k****n@c****k 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 0
  • Total pull requests: 22
  • Average time to close issues: N/A
  • Average time to close pull requests: 5 months
  • Total issue authors: 0
  • Total pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.77
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 21
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • dependabot[bot] (21)
  • pbinkley (1)
Top Labels
Issue Labels
Pull Request Labels
dependencies (21)

Dependencies

utils/requirements.txt pypi
  • Pillow ==4.1.1
  • h5py ==2.8.0rc1
  • numpy ==1.14.3
  • psutil ==5.2.2
  • scikit-learn ==0.19.1
  • six ==1.11.0
  • tensorflow ==1.8.0
  • umap-learn ==0.2.3
Dockerfile docker
  • ubuntu 16.04 build