nasa-jpl-memex / image_space Goto Github PK
View Code? Open in Web Editor NEWInteractive Image similarity and Visual Search and Retrieval application
License: Apache License 2.0
Interactive Image similarity and Visual Search and Retrieval application
License: Apache License 2.0
I searched for 'girl' and opened the first image ("Sexy Schoolgirl Fetish", first metadata in the list is version: 1494086487025647600). When I click "Find similar images" it just processes - I left it for a couple of minutes to no avail.
Browser: Chrome
Version: Version 43.0.2357.124 (64-bit)
Steps to reproduce the issue:
Result: The modal disappears but there is no notification that the search was completed successfully or with error.
If background or dynamic searches are unavailable, do not display those search buttons.
Steps to reproduct issue -
Result : The modal keeps trying to load data. Nothing happens.
On checking further, Console shows this error for both the options -
502 Proxy Error
<title>502 Proxy Error</title>The proxy server received an invalid
response from an upstream server.
The proxy server could not handle the request GET /imagespace/api/v1/imagepivot.
Reason: Error reading from remote server
##I don't see how the following works in the current implementation:
We should have a typical pagination widget to let people browse through, if they so wish, pages of results.
Will need to make sure links to searches still work (i.e. they close the dialog).
It is unclear that there is a docker container for image_space.
Would be great if we could make it explicit that there is one and then make it extremely easy for folks to find it and run it locally.
@jeffbaumes can you help me document this e.g. where is the docker container on DockerHub? Is it available for use?
@wmburke says: Previously clicking on the image would open it full size in a new browser window. Now, it doesn't seem possible to see the full size image at all.
I think this is important, especially if you're trying to see if it's the same person in two images - or get a better look at a tattoo, etc...
I would suggest another icon under the images (maybe the picture icon?) that when clicked opens it full size. This could be a browser window for now, but we should probably think about adding light box style functionality so that you could actually move through the images like you do through any web gallery.
Add a toggle button for this. Log when a user switches modes.
When I deploy locally (build instructions are pretty much bang on, took me around 30 minutes), unfortunately when I open the main image_space app on http://localhost:8080 I get a blank screen, I also get the following screen shot.
Only one of the three JS files is referenced within Gruntfile.js as below
64 files[staticDir + '/main.min.js'] = [
65 jsDir + '/main.js'
66 ];
AFAICS the others are not listed in any other code within image_space.
This is an issue as they are referenced for import and are missing.
Browser: Chrome
Version: Version 43.0.2357.124 (64-bit)
Not sure how important the log in feature is for pilot testing, but we might want to add a notification once a user has logged out saying "You have signed out".
Also, once a user signs out, the app's state remains to the screen of last performed search.
For example,
Steps:
Result: After logging out, the screen still shows the last search results page. We could bring it back to the Home Page of ImageSpace.
@wmburke says: If I understand correctly, this functionality is not currently functioning. Can we disable it or comment it out then?
Hi Folks,
Working on integration of Georgetown's REST services into image_space, I tried to recently build the docker image as
lmcgibbn@LMC-032857 /usr/local/image_space/imagespace(master) $ ./start-imagespace-docker.sh
this resulted in the below output
loads of steps...
...
Done, without errors.
---> bd9c6c0bfe75
Removing intermediate container 606df988bd6c
Step 24 : ENV KWDEMO_READY TRUE
---> Running in 3b5a070226ea
---> 8c73d76b8bf7
Removing intermediate container 3b5a070226ea
Step 25 : WORKDIR /home/kwuser/girder
---> Running in 953500bfd15e
---> 7de34aaaad43
Removing intermediate container 953500bfd15e
Step 26 : CMD sh -c python -m girder
---> Running in a18fcae6c882
---> fc2fbeb58515
Removing intermediate container a18fcae6c882
Successfully built fc2fbeb58515
/usr/bin/python: No module named cherrypy; 'girder' is a package and cannot be directly executed
The bottom message is concerning, I am not sure if this is OK or not.
Too long will kill REST API.
We need to add this functionality to make the image searching useful in a broader context.
I've been thinking this, but we are also getting this feedback live from the User Surrogate Group right now.
I know this is not something previously discussed but as of now, I don't see a way to save images and find them again later. For the searches, you mention that you can bookmark the url in the browser, but I don't see where there is any permalink for an image.
Is this possible?
Suggestion from USG: show a single graph from an uploaded photo (or from a single other photo that was selected).
Also, the interactive query tool will be REALLY useful here for identifying bad connections and fake photos (there are a lot of fake photos, identifying real photos is also useful -- although probably needs to be done by a human).
Would be great if this could also be used as a connection type between ads - in conjunction with identifying as fake or real.
The instructions in the sidebar on the left are not entirely visible. When I scroll to the bottom, I can't read the last line - seems the height of the div is off somehow.
I'm on Ubuntu 14.04 with Firefox 36.0.1.
It works fine in Chrome however...
Required by FLANN, e.g.,
IMAGE_SPACE_LISTS=/home/kwuser/image_space/flann_index/lists.txt
The instructions page can have a line stating the format of files that ImageSpace supports.
Eg: Allowed file format: .png, .jpg, .jpeg
That will also give users a hint to avoid formats such as pdfs, svgs etc.
Are the deploy docs found here up to date? I just tried deploying this locally and the site is slightly different compared to the live site on the memex box.
cc @jeffbaumes
Should we provide demo images? It could be a set of links in the instructions where they could download them from.
(although I just uploaded a picture of squirrel and got some interesting hits :)
Only store one version.
For example, if the end user could right click on an image in TellFinder and choose to search this image in ImageSpace. Is that easy? It may be something we want to work out at the QPR.
We currently have 3 or 4 ways of identifying images as similar when we search for similar images from a given image. We need to find a way to make it obvious how it is that these images are similar.
This is not an immediate problem that needs to be solved, but it should be solved before we enter a pilot.
When an image comes up in a list of similar images, it would be helpful to know how each one is similar. Do they share common EXIF data? Is it through the image histogram? Is there OCR'd text? Some of these can be considered soft connections and others hard. Analysts will want to know these connections.
Potentially, the expansion of the Image Size and Serial Number capabilities in the left side bar could help with this also - a sort of faceted search that would narrow the manner in which the shown images are connected. This is just a brainstormed thought - so after further consideration, it may not be a good answer, but I'm sharing it here anyway.
Issue appears in : Broswer - Google Chrome, Version 43.0.2357.124 (64-bit)
Steps to reproduct issue -
Result: The page keeps showing a loading icon and nothing appears.
Console shows the following error -
GET https://imagecat.memexproxy.com/imagespace/api/v1/imagesearch?url=https%3A%…3FSCiBFXzqzqHD0WSXQBYCRGQM06pi7vVCJwq6aLU3iQI31&histogram=%5B%5D&limit=100 500 (Internal Server Error)jQuery.ajaxTransport.send @ jquery.js:8623jQuery.extend.ajax @ jquery.js:8152Backbone.ajax @ backbone.js:1209_.extend.restRequest @ init.js:137imagespace.views.LayoutUserDataView.imagespace.View.extend.findSimilarImages @ UserDataView.js:130(anonymous function) @ UserDataView.js:101jQuery.Callbacks.fire @ jquery.js:3073jQuery.Callbacks.self.fireWith @ jquery.js:3185done @ jquery.js:8251jQuery.ajaxTransport.send.callback @ jquery.js:8598
init.js:120 500 Internal Server Error {"message": "ValueError: ValueError('No JSON object could be decoded',)", "trace": [["girder/api/rest.py", 279, "endpointDecorator", "val = fun(self, args, kwargs)"], ["girder/api/rest.py", 759, "GET", "return self.handleRoute('GET', path, params)"], ["girder/api/rest.py", 561, "handleRoute", "val = handler(*_kwargs)"], ["girder/api/access.py", 62, "accessDecorator", "return fun(_args, *_kwargs)"], ["/home/jbaumes/girder/plugins/imagespace/server/imagesearch_rest.py", 44, "getImageSearch", "'?url=' + params['url'] + '&num=' + str(limit), verify=False)"], ["/home/jbaumes/girder/env/lib/python2.7/site-packages/requests/models.py", 763, "json", "return json.loads(self.text, *_kwargs)"], ["/usr/lib64/python2.7/json/init.py", 338, "loads", "return _default_decoder.decode(s)"], ["/usr/lib64/python2.7/json/decoder.py", 365, "decode", "obj, end = self.raw_decode(s, idx=_w(s, 0).end())"], ["/usr/lib64/python2.7/json/decoder.py", 383, "raw_decode", "raise ValueError("No JSON object could be decoded")"]], "type": "internal"}
@wmburke says: I think these should be simple and can be handled with text and/or html, so I'm grouping them together:
Issue appears in : Broswer - Google Chrome, Version 43.0.2357.124 (64-bit)
Steps to reproduce this :
We aren't using the flask app anymore. We have it in the commit history if we ever wanted to go back. Let's remove it.
Details button would no longer be needed
We should have a search result widget which displays the following
showing results of 1 - 20 of 100,396
Issue appears in : Broswer - Google Chrome, Version 43.0.2357.124 (64-bit)
Steps to reproduce this :
Result: Shows error on top right of the page.
Console shows -
500 Internal Server Error {"message": "KeyError: KeyError('response',)", "trace": [["girder/api/rest.py", 279, "endpointDecorator", "val = fun(self, args, kwargs)"], ["girder/api/rest.py", 759, "GET", "return self.handleRoute('GET', path, params)"], ["girder/api/rest.py", 561, "handleRoute", "val = handler(*_kwargs)"], ["girder/api/access.py", 62, "accessDecorator", "return fun(_args, **kwargs)"], ["/home/jbaumes/girder/plugins/imagespace/server/imagesearch_rest.py", 53, "getImageSearch", "return result['response']['docs']"]], "type": "internal"}
We currently call Tika from the command line in Image Space. This should be updated to use tika-python.
Steps to reproduce this :
Result : Resulting images are shown, but no notification is shown that a search is being carried out when adding a new attribute to the search.
We should also remove the tangelo initial app since we are using girder now. We have it in the commit history if we ever needed to go back.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.