Browse through images in a data tableI have a data table with an image column.
The 10.000+ images are defect pictures made by ASIS systems on steel surface. In the data tables there are calculated features of the images.
I want to make selections in the feature columns and see the corresponding images to see if the correct defects are grouped.
Is there a simple way to browse through images or see multiple images?
Now I use either the row editor (but you need to click manually to browse through different rows) or graph builder (I use the images as markers and set marker size to 150; by selecting the different images in the table the selected image is shown).
I wonder if there is a better method?
Thanks in advance!
Re: Browse through images in a data tableI am glad it is helpful!Re: Browse through images in a data tableThanks a lot!
This is also a very interesting solution, especially for my images (small,
but wide) and for the "overplot" issues that I have when using scatterplots
with these images.
Re: Browse through images in a data tableI combined @JohnPonte code with the JMP 15.0 Graphlet framework and created an Add-in that allows you to look at all images associated with graph visual elements by hovering over them. You can use graph to get started on your exploration, and then use a built-in Local Data Filter to refine it.
Please check it here:
Label Viewer: exploring multiple images and text associated with a single visual element using Hover Labels.
Re: Browse through images in a data tableThanks a lot for this alternative solution!
It works well and is easy to use.
If you would make a new version, it would be interesting to be able to
browse with the arrows on the keyboard, instead of clicking with the mouse.
In my case anyway, it is more than fast enough and using the arrows would
enable to browse faster through the images.
So again, thanks a lot!
Re: Browse through images in a data tableAnother option for you might be to look at the Image Column Analyzer Addin. It prompts you for a data table and finds the column with the images. Then it cycles through the images when you press the next/prev buttons. It was designed to help you create a data table from an image, which you may or may not be interested.
Re: Browse through images in a data tableThanks for this code!
Re: Browse through images in a data tableThanks a lot for this scripting code!
It works smoothly and is exactly what I was looking for!
Re: Browse through images in a data tableAnd here's some old code from a (now defunct) SMILES viewer. Select your image column before running the script, then select rows in the table using any available method. It assigns a 'row state handler' to the table, then removes it when the display window is closed. See 'Help > Scripting Index'.
Names Default To Here( 1 );
If( Num(Word(1, JMPVersion(), ".")) < 12, Beep(); Dialog("This script requires JMP 12 or later"); Throw() );
If( Is Empty( Current Data Table() ), dt = Open(), dt = Current Data Table() );
dt << ClearSelect;
dtname = dt << GetName;
// Try to use the first selected column in dt
imCol = dt << getSelectedColumns;
if(
NItems(imCol) == 0 |
imCol[1] << getDataType != "Expression",
Beep(); Print("Select an image column and try again"); Throw(),
imCol = imCol[1]
);
// Row state handler function: Automatically updates the content of the PanelBox 'pb' in window 'nw' to reflect
// current row selection
updatePanelBox =
Function({x},
// Get the currently selected rows: Note that 'x' is a column vector of row states that have CHANGED.
// But the direct approach below seems to respond better than working with x when we have multiple
// selections, for some reason.
selectedRows = [];
i = 1;
ForEachRow(
If( Selected( Row State()), selectedRows = VConcat(selectedRows, i) );
i++;
);
// Delete whatever is already on display . . .
lub << Delete;
// Build the new stuff for display . . .
lub = LineUpBox(NCol(1));
if (NRow(selectedRows) == 0,
// . . . the 'DayLight' graphic
lub << Append(gb),
// . . . the images
For( i = 1, i <= NRow(selectedRows), i++,
pic = imCol[selectedRows[i]];
lub << Append(pic);
lub << Append(SpacerBox(Size(10,40))),
);
);
// Display it . . .
pb << Append(lub);
// Make sure the window is still on top . . .
nw << BringWindowToFront;
);
// Assign the handler to the table
rsh = dt << MakeRowStateHandler(updatePanelBox);
// For dsplaying a graphic when there are no rows currently selected
gb = Expr(
GraphBox(
Frame Size(400, 150),
XAxis(ShowMajorTicks(0), ShowMinorTicks(0), ShowLabels(0)),
YAxis(ShowMajorTicks(0), ShowMinorTicks(0), ShowLabels(0)),
XName(""),
YName(""),
<< AddImage(
SetBlob(
Char To Blob(
"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",
"base64compressed"
),
"png"
),
FillGraph,
Lock
);
);
);
// Image display
nw = NewWindow("Image Display for "||dtname,
<< OnClose(Try(dt << ClearSelect; rsh = dt << MakeRowStateHandler(Empty()))),
pb = PanelBox("Image(s) for Currently Selected Row(s)",
lub = LineUpBox(NCol(1), gb)
);
);
Re: Browse through images in a data tableYou might find some useful code here: Supercharge Your User Interfaces in JSL ( US 2018 113 )
In particular check out the code for showing pictures of the steering committee members.