Open jywarren opened 5 years ago
Just leaving an image re: color differentiation as an example:
@jywarren do we want only the differentiated color to be visible or do we want the difference in color? What do we want? Could you please elaborate?
I believe for that use case (and we should break out its own issue!) we need to accept parameters for two rectangular regions to sample from, average and then display (somehow?) the difference in color -- i suppose in each channel? The rectangular regions could be standard locations -- we could say, take a picture of this card with 2 color patches, and Image Sequencer will quantify the color difference. Make sense?
I've spun the map tile filtering idea into it's own Leaflet plugin here: https://github.com/publiclab/leaflet-multispectral and submitted it to the Leaflet Plugins listing here: https://github.com/Leaflet/Leaflet/pull/6499 -- planning to follow-up with one for tile layers as well.
This kind of thing should be great to really show what this library is capable of and to help get the word out!
The plugin was accepted and published!
I've also made a map tile filtering library, a bit more complex, and still a bit buggy -- but you can try it out here: https://publiclab.github.io/leaflet-tile-filter/
https://github.com/publiclab/leaflet-tile-filter
Once it's debugged, i'll submit it to the plugins directory too!
@jywarren the color differenciation should take two images? One as input and one the original? I don't really know if both the regions can be in the same img. Maybe one image can be input or maybe offset? Then the color difference can be for the whole image or for the selected region? Is that how it should work? I'm not quite sure. Please elaborate a bit more. I've understood the basic concept but I don't know how the two samples will be selected. Or can you open a new issue?
I think we can try to crop the image down to the first of two regions, then reload the image with the overlay module and crop it down a second time? Or we could try to, instead of doing the whole thing inside Image Sequencer, write a web app which /uses/ image sequencer with two different sequences, one on each, and then displays the two patches side by side post-processing, and the values. Many real world uses may not literally be inside our app, but might use it as a utility, right?
Yes, let's break out a new issue!
On Thu, Jan 31, 2019 at 12:22 PM Harsh Khandeparkar < notifications@github.com> wrote:
@jywarren https://github.com/jywarren the color differenciation should take two images? One as input and one the original? I don't really know if both the regions can be in the same img. Maybe one image can be input or maybe offset? Then the color difference can be for the whole image or for the selected region? Is that how it should work? I'm not quite sure. Please elaborate a bit more. I've understood the basic concept but I don't know how the two samples will be selected. Or can you open a new issue?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/publiclab/image-sequencer/issues/707#issuecomment-459429754, or mute the thread https://github.com/notifications/unsubscribe-auth/AABfJ3x-LFLr96JQJx1mE93fHGy2Imo3ks5vIyYcgaJpZM4aP2um .
@jywarren I'll unpin this one and instead pin #694 as this one is linked inside that one.
@jywarren or @HarshKhandeparkar can someone please explain me the use case of this issue? Is it like it giving the output of a image which shows how much lead has been detected and where it has been detected(on the image)?
This issue doesn't exactly address particle analysis, this issue addresses any general useful-in-real-life modules. That blob analysis module can be used to detect the amount of lead on the surface. That chemical spray called sprayView I guess becomes red when there is lead detected. It becomes more red when there is more lead. Lead is harmful to healt so this can be used to detect lead on samples of any general thing. May not be a particular article. May not be lead as well. It can be used to detect change in something. Specially change in physical properties like color.
Micro particles in the air can be sized using a module like this as well. A sample can be analysed under a microscope, this module can separate particles from the background and calculate their area and approximate diameter if they were shaped like a sphere.
I hope this helps.
Instead of using physical tools or chemical tools on every sample in real life to let's say measure concentration of lead, IS can be run on multiple of those samples at once to get the approx concentration of lead of each of those. Thanks.
Yes that was really helpful, so it's like running different modules together (like implementing the spray view thing and blob analysis module ...) and then finally giving the output of the image with the lead detected on it? Also is the sprayView thing a separate module or something that is to be developed?
SprayView is a real life thing not a module 😅. The picture is an example picture.
Hi @jywarren, In this color differentiation, we will accept parameters for two rectangular regions to sample from and then average the color values and display the difference in color. I have few questions. We will select the two rectangular regions from the same image or two different ones? and will this be made as a new module?
just in an all-to-quick response to jeff's post on Jan 25. I would recommend a calibration patch on each colorimetric test, that helps adjust for lighting conditions and angle etc. for example over in https://github.com/publiclab/SmART-Form we have `
Calibration patch correction
@return */ private double getRatio(Bitmap bitmap) { Bitmap ref, act; double ratio = 0; if(bitmap!=null) { act = Bitmap.createBitmap(bitmap, 50, 150, 50, 50); ref = Bitmap.createBitmap(bitmap, 150, 150, 50, 50);
ratio = getLightness(act) / getLightness(ref); // Chemical badge intensity / calibrating patch intensity
} return ratio; }
/**
At the end of this pathway https://github.com/publiclab/SmART-Form/blob/master/Android/app/src/main/java/edu/osu/siyang/smartform/Fragment/TestFragment.java
I actually think this project may involve using multiple sequencers, or otherwise using IS as a utility in the final solution, rather than the while functionality being a module within IS, does that make sense? Kind of like how Leaflet.Multispectral uses IS within it.
On Thu, Mar 21, 2019, 7:12 PM Nick Shapiro notifications@github.com wrote:
just in an all-to-quick response to jeff's post on Jan 25. I would recommend a calibration patch on each colorimetric test, that helps adjust for lighting conditions and angle etc. for example over in https://github.com/publiclab/SmART-Form we have
-
Calibration patch correction
@param <https://github.com/param> bitmap - @return <https://github.com/return> */ private double getRatio(Bitmap bitmap) { Bitmap ref, act; double ratio = 0; if(bitmap!=null) { act = Bitmap.createBitmap(bitmap, 50, 150, 50, 50); ref = Bitmap.createBitmap(bitmap, 150, 150, 50, 50); ratio = getLightness(act) / getLightness(ref); // Chemical badge intensity / calibrating patch intensity } return ratio; }
/**
- Resize drawable image
- @param https://github.com/param image
- @return https://github.com/return */ private Drawable resize(Drawable image) { Bitmap b = ((BitmapDrawable)image).getBitmap(); Bitmap bitmapResized = Bitmap.createScaledBitmap(b, 50, 50, false); return new BitmapDrawable(getResources(), bitmapResized);
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/publiclab/image-sequencer/issues/707#issuecomment-475437473, or mute the thread https://github.com/notifications/unsubscribe-auth/AABfJ21LRPDr30SIe53RTwVVVrtvuQj4ks5vZBHWgaJpZM4aP2um .
So like this is something we could build using IS!
On Thu, Mar 21, 2019, 10:59 PM Jeffrey Warren jeff@unterbahn.com wrote:
I actually think this project may involve using multiple sequencers, or otherwise using IS as a utility in the final solution, rather than the while functionality being a module within IS, does that make sense? Kind of like how Leaflet.Multispectral uses IS within it.
On Thu, Mar 21, 2019, 7:12 PM Nick Shapiro notifications@github.com wrote:
just in an all-to-quick response to jeff's post on Jan 25. I would recommend a calibration patch on each colorimetric test, that helps adjust for lighting conditions and angle etc. for example over in https://github.com/publiclab/SmART-Form we have
-
Calibration patch correction
@param <https://github.com/param> bitmap - @return <https://github.com/return> */ private double getRatio(Bitmap bitmap) { Bitmap ref, act; double ratio = 0; if(bitmap!=null) { act = Bitmap.createBitmap(bitmap, 50, 150, 50, 50); ref = Bitmap.createBitmap(bitmap, 150, 150, 50, 50); ratio = getLightness(act) / getLightness(ref); // Chemical badge intensity / calibrating patch intensity } return ratio; }
/**
- Resize drawable image
- @param https://github.com/param image
- @return https://github.com/return */ private Drawable resize(Drawable image) { Bitmap b = ((BitmapDrawable)image).getBitmap(); Bitmap bitmapResized = Bitmap.createScaledBitmap(b, 50, 50, false); return new BitmapDrawable(getResources(), bitmapResized);
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/publiclab/image-sequencer/issues/707#issuecomment-475437473, or mute the thread https://github.com/notifications/unsubscribe-auth/AABfJ21LRPDr30SIe53RTwVVVrtvuQj4ks5vZBHWgaJpZM4aP2um .
Hi, I just wrote a detailed issue on the colorimetric project, with the bugs we'd need to solve, and some other ideas: https://github.com/publiclab/image-sequencer/issues/979 I hope this helps!
I'm thinking about a few goals for real world uses we've talked about in the past, and want to maintain a list of them that would be great examples of what Image Sequencer can be used for, OR what we should aim to enable it to do.
A couple from https://github.com/publiclab/image-sequencer/issues/197#issuecomment-372354568