-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Define table specifications V1 #529
Comments
Given the shape that #582 is taking, I wonder whether we should be more granular in the definition of versions. // table with no additional specifications
{
"fractal_table_version": "1",
}
// basic ROI table (naming is WIP)
{
"fractal_table_version": "1",
"type": "basic_roi_table",
}
// advanced ROI table (naming is WIP)
{
"fractal_table_version": "1",
"type": "advanced_roi_table",
}
// feature table
{
"fractal_table_version": "1",
"type": "feature_table",
} The benefit here is that based on a zarr attribute we immediately know whether some operations on the table make sense. For instance we already use the
NOTE: if we start using our own table types (e.g. |
Note: the proposal in the previous comment concerns the specs definition, but it's still acceptable to postpone a bit the actual implementation of spec-compliant tables. For instance we may start to encode part of the specs in the code, e.g. the required columns for a ROI tables could be stored in an upcoming And we could also take the opportunity to clean up the structure of the helper functions, to keep the ones referred to different parts of the specs separated. We can decide how far to push the modularity, but just to have a random example we could go as far as:
(or any other arrangement of the same kind of information.. e.g. the v1/v2 do not need to be specific subfolders) |
On the idea of having specific table types: As such, I think we shouldn't be too strict about these types for the time being. I don't mind having them and raising warnings when they aren't set. We may even have some processing that goes easier if the type is set. But we should (at least for quite a while) accept tables with no type set (/wrong type set or ngff:region_table type set) and have ways to check whether their content confirms to the table type we need. The Regarding names, here is a proposal: // table with no additional specifications
{
"fractal_table_version": "1",
}
// basic ROI table
{
"fractal_table_version": "1",
"type": "roi_table",
}
// advanced ROI table (naming is WIP)
{
"fractal_table_version": "1",
"type": "masking_roi_table",
}
// feature table
{
"fractal_table_version": "1",
"type": "feature_table",
} Are roi_tables just a subset of masking_roi_tables? The masking_roi_tables just contain additional info on labels, metadata on the label image and such, right? |
"fractal_roi_table_version": "1"
? Note that for the moment we are not planning to do anything with it, but in this way the newly-created Zarrs will include this information.micrometer
in column names) and longer-term ones (e.g. re-evaluate the choice of AnnData).The text was updated successfully, but these errors were encountered: