Comments (16)
This took a while to figure out! @duhaime discovered it was due to a difference in how NVIDIA and AMD GPUs treat casting between integers and floats. I'll let Doug close this with the particular commit to the experimental branch that fixes it...
from pix-plot.
I'll close this for now, but please feel free to reopen if you see strange behavior in the future @sonovice
from pix-plot.
Hmm, that's really curious. This branch is definitely experimental but I haven't seen this behavior yet.
Is there any chance the output atlas files were somehow fed into the input script? One way to test if that's the case is to see if any of the images in output/thumbs/128px
looks like a montage of images. (I've done that accidentally in the past by passing a wonky glob to the input script).
I can't see how the level of detail mechanism could create that kind of montage effect--it just fetches images from the output/thumbs/128px
directory, adds them to a canvas texture, and then updates the attribute buffers for the appropriate images.
@sonovice if you have a second, can I ask your operating system and version? Any information you can send on your graphics card would be helpful too...
from pix-plot.
@sonovice sorry I should have asked--could you also send your specific browser versions as well if you have a moment?
from pix-plot.
I rebuild the entire data (over 47k images) to make sure I made no mistake and went over all files in the 128px folder but nothing suspicious came up. Having one eye on the HTTP requests in the browsers while moving around shows also nothing weird.
Here are some specs of my system:
OS: Windows 10 Pro Version 1803 (Build 17134.648)
Gfx: NVIDIA GeForce GTX 1080 (8 GB), latest driversChromium: v72.0.3626.96
Firefox: v66.0.3
Microsoft Edge: v17.17134
Here's a quick screencast so you get a better picture of the issues: https://youtu.be/Z79qfBUZMys
And just in case I messed up my data, I uploaded everything here: http://www.web226.s186.goserver.host/t-sne/
EDIT:
I also just noticed that the original resolution files are never used in my browsers.
from pix-plot.
Just tried another computer: Things work as expected except Firefox only shows black rectangles instead of the 32px thumbnails but switches to 128px correctly. Oh and Chrome crashes constantly if I move around too much.
So I guess it has something to do with my gfx card. Not sure how (if at all) to solve that or even start debugging.
from pix-plot.
@sonovice Interesting enough, your sample page http://www.web226.s186.goserver.host/t-sne/ works fine on my system (Ubunty + Firefox), but when I try to render some of my own images with the latest experimental
checkout, I get the black rectangles for the 32px thumbnails and non-flickering 128px versions upon zoom. Did you change anything since you uploaded the demo page?
from pix-plot.
demo url: http://www.web226.s186.goserver.host/t-sne/
does not work on my firefox, it freezes at 66% with this error on the console:
XML Parsing Error: syntax error
Location: http://www.web226.s186.goserver.host/t-sne/output/centroids.json
Line Number 1, Column 1: centroids.json:1:1
TypeError: this.template is null[Learn More] tsne.js:1663:5
init http://www.web226.s186.goserver.host/t-sne/assets/js/tsne.js:1663
self-hosted:975
onreadystatechange http://www.web226.s186.goserver.host/t-sne/assets/js/tsne.js:1736
It works on both Chrome and Chromium. (Ubunutu)
from pix-plot.
Update: Uploading to an external server made my experiment work fine and reloading the version served from my workstation's local webserver also made it work. Now it displays fine everywhere, even when I reload. Maybe it's a timing issue?
from pix-plot.
If you're using the SimpleHTTPServer (or http.server in Python 3) it could be a "server"-side caching issue. Try changing the port on which you're running to see if that's the case:
python -m http.server 7043 # python 3
python -m SimpleHTTPServer 7043 # python 2
Just change the integer value as a sanity check if you see strange behavior, especially if rebuilding the data...
from pix-plot.
@sonovice I'm going to close this issue and create a new one on the FireFox problem, which I can replicate on Windows here. I think solving that will resolve this. If you see other strange behavior please feel free to open a new issue!
from pix-plot.
I've noticed a bit of flickering/texture mis-mapping too; I think it might be dependent on the video card's RAM in addition to the browser. Will try to do some testing to come up with some data...
from pix-plot.
That'd be awesome if we could identify a dataset and device + browser that create this problem. There's definitely a flickering problem when images "z-fight" -- two images at the same position will fight for control of the z plane which causes flickering. Jittering the images out a bit is meant to help that.
If you can find a dataset that causes this please let me know! I'll reopen this in the interim...
from pix-plot.
Here is an instance that triggers some flickering (Chrome, Win10, NVIDIA P4000):
http://pixplot.yale.edu/v2/lund/
from pix-plot.
The essential detail here was that NVIDIA and AMD evidently handle negative integer typecasting differently (at least in the context of fragment shaders). The change that fixes this behavior is 5dbcc5b#diff-cdb833fcf0651bc90856afe53cba4c30R153
from pix-plot.
I also experience this flickering. This is with a dataset of 17.000 images and a custom model trained on plant diseases.
My environment:
nvidia rtx 2070, windows 11. chrome and edge browser.
It looks like there's two images on top of each other ("z-fight"). However if I then use the lasso tool, there's only one image in this position.
from pix-plot.
Related Issues (20)
- Dependency Requirements Issue HOT 1
- Image not displayed on iPad
- Download metadata for additional metadata fields HOT 1
- Add option to download metadata file for UMAP clusters like that for manually created clusters
- Best way to make a smaller "PixPlot" HOT 2
- metadata / custom fields HOT 1
- Bug with get_heightmap and umap layouts HOT 3
- HDBSCAN not available HOT 5
- Non-OK status: "platform is already registered with name: "METAL"
- Non-OK status: "platform is already registered with name: 'METAL'"
- Improper duplicate name validation in filter_images() HOT 5
- gbk code issue
- How would YaleDH like PixPlot to be ited?
- How would YaleDH like Pixplot to be cited?
- Associating filenames and clusters HOT 1
- Demo websites are down
- ThreeJS error when selecting lat/long view
- Sample data downloads are broken HOT 3
- Could not build wheels for scipy, HOT 6
- Tensorflow Issue? terminating due to uncaught exception of type google::protobuf::FatalException: HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pix-plot.