Skip to content

Metadata column column types and datasets (rebased onto metadata53)#5218

Closed
atarkowska wants to merge 22 commits intoome:metadata53from
atarkowska:rebased/metadata53/populate_metadata_column_types
Closed

Metadata column column types and datasets (rebased onto metadata53)#5218
atarkowska wants to merge 22 commits intoome:metadata53from
atarkowska:rebased/metadata53/populate_metadata_column_types

Conversation

@atarkowska
Copy link
Copy Markdown
Member

This is the same as gh-4637 but rebased onto metadata53.


This PR carries on from work by @emilroz (PR 120) which makes it possible to specify the column types for OMERO.tables when using populate_metadata.py to parse the csv files and adds support for datasets and projects as the target object for a metadata table.

emilroz and others added 21 commits April 4, 2017 11:08
Most methods for dataset loading and parsing were left unimplement.
Now a `Dataset:`-style object can be passed to populate_metadata.py
and images will be looked up by name. Note: there's a small bug with
name lookup that will be corrected separately.
The assumptions for well/imaging naming in a plate or screen
differ from those from image naming in a dataset since there's
no unique way to reference an image in a dataset like there is
well "A1" for example. This commit loosens some of those rules
to allow image columns and image name columns to work together
in the case of datasets. The assumption is that for population
the ID of the image in a dataset won't be known. Instead names
of images will be used as a unique identifier. Currently only
a warning is issued if the name is not unique.
In general, populate_metadata.py looks to be in line for a
refactoring. The number of if-clauses as well as the unhandled
cases (like no catch-all for unknown targets in delete) is
making this ever harder to work with.

All tests passing.
In order to allow Projects to smartly handle multiple images
with the same name (though not in the same dataset), the internals
of ValueResolver have been hidden within a ValueWrapper class.
ValueResolver chooses once which ValueWrapper to use internally
after which the various if/then blocks based on target object are
no longer necessary (needs further refactoring). There *are* still
if/then blocks basked on column-type. These could use some cleaning
but will likely remain to be necessary for multiple-dispatch style
handling.
@atarkowska
Copy link
Copy Markdown
Member Author

--rebased-from #4637

@atarkowska atarkowska closed this Apr 4, 2017
@atarkowska atarkowska deleted the rebased/metadata53/populate_metadata_column_types branch April 4, 2017 16:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants