https://github.com/centre-for-humanities-computing/pixplot
docker container for 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
Repository
docker container for pixplot
Basic Info
Statistics
- Stars: 6
- Watchers: 1
- Forks: 3
- Open Issues: 5
- Releases: 0
Metadata Files
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.

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
- SMK 2020
- 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
- Website: https://chc.au.dk/
- Repositories: 130
- Profile: https://github.com/centre-for-humanities-computing
GitHub Events
Total
Last Year
Committers
Last synced: about 1 year ago
Top Committers
| Name | 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
- 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
- ubuntu 16.04 build