mobie / mobie.github.io

1 stars 3 forks source link

Next spec updates #88

Closed constantinpape closed 1 year ago

constantinpape commented 1 year ago

We will need a couple of spec updates to support spotSources etc. They will also require rewriting of the old spec because we will change the table layout a bit (and some potential other changes, see below). This means the spec for all existing projects will need to be updated, and this is quite a bit of work, so I just want to do this once! So we should collect all the changes that we want to do here, I can then create some branches with prototypes and once we are sure of the changes do all the upgrades.

Here is the list of spec changes I see so far:

There's potentially more spec changes that could be done, but I would vote to leave these be for now and only discuss after the revision:

constantinpape commented 1 year ago

Started working on PRs for this here:

constantinpape commented 1 year ago

@tischi: there is another thing we discussed a while ago (can't find the issue now): that we might not need the imageDataFormats in the project level metadata any more. Do you still need it in your current implementation of MoBIE3? If not, now is a good opportunity to get rid of it.

tischi commented 1 year ago

I had a look at the code and it feels that this is true, however my code currently still uses this field.

Should I first try to remove everything from the code that looks at this field and then let you know whether this works? Or you anyway produce an example project branch without that field for me to test?

constantinpape commented 1 year ago

Can you first try to just remove the parts of the code that use it and see if it works?

tischi commented 1 year ago

Seems OK => you can remove it.

constantinpape commented 1 year ago

@tischi I have finished the spec update script now, and we have the following branches to test:

I suggest we continue as follows: once all of these projects can be opened with the new mobie we push it to mobie-beta so that I can also open these projects (and continue working on the spatial transcriptomics data). And of course let me know if you run into any issues / think something is wrong with the spec updates.

tischi commented 1 year ago

regionTable => regions ? That would be more consistent with spots?!

constantinpape commented 1 year ago

regionTable => regions ? That would be more consistent with spots?!

Makes sense, I will update it later.

constantinpape commented 1 year ago

regionTable => regions ? That would be more consistent with spots?!

Done and updated in all the example projects.

constantinpape commented 1 year ago

@tischi: I deleted a couple comments here and moved them to https://github.com/mobie/mobie-viewer-fiji/issues/818 instead since they didn't make much sense here (and I don't want to do too many purely semantic name changes now, since all of this seems to be mostly future proofing for ome.zarr tables, which we would most likely need to revisit when we integrate those in any case.)

tischi commented 1 year ago

@constantinpape I think I can now open everything. Maybe not every view and there will still be bugs and to-dos, but at least the default views seem to open, more-or-less. I still have a couple of FIXME in the project, where I know it cannot work right now.

Shall I continue working on those or do you want to try out stuff on MoBIE-beta already now? In fact, how would we do this? Maybe I could change the main entry point in the Fiji UI such that it loads the mobie3 branch by default?

@Plugin(type = Command.class, menuPath = CommandConstants.MOBIE_PLUGIN_ROOT + "Open>Open MoBIE Project..." )
public class OpenMoBIEProjectCommand implements Command
{
    @Parameter ( label = "Project Location" )
    public String projectLocation = "https://github.com/mobie/platybrowser-datasets";

    @Override
    public void run()
    {
        MoBIESettings options = MoBIESettings.settings();
        options.gitProjectBranch( "mobie3" ); // <---- ?!

        try
        {
            new MoBIE( projectLocation, options );
        }
        catch ( IOException e )
        {
            e.printStackTrace();
        }
    }
}
constantinpape commented 1 year ago

Shall I continue working on those or do you want to try out stuff on MoBIE-beta already now?

It would be great if you can push it the changes to MoBIE beta already! (And of course still work on fixing the bugs ;)).

And it would indeed be helpful if we can change it for the time being that mobie3 is opened by default.

tischi commented 1 year ago

OK.

  1. Should we send a mail to all possible MoBIE-beta users that this will be broken-ish for some time?
  2. For the release, how do we deal with people with local projects (I think Karel at EMBL and also Rafael Camacho in Sweden). Will you have a python script that they can eventually run to update their projects to the latest spec? I think we have breaking changes and I do not yet have any mechanism to support different spec versions on the Java side.
constantinpape commented 1 year ago
  1. Should we send a mail to all possible MoBIE-beta users that this will be broken-ish for some time?

Sounds good. Do you send it?

2. For the release, how do we deal with people with local projects (I think Karel at EMBL and also Rafael Camacho in Sweden). Will you have a python script that they can eventually run to update their projects to the latest spec? I think we have breaking changes and I do not yet have any mechanism to support different spec versions on the Java side.

Yep, there is a python script, which I have used already to update the projects we currently have. For Karel I have run an earlier version of this already and can do it again once we have fully updated. And Rafa should be able to run it since he has installed the python library.

martinschorb commented 1 year ago

I will also look into the conversion/update script. Let me know once I can try...

tischi commented 1 year ago

@martinschorb you can try from now on.

constantinpape commented 1 year ago

@martinschorb

I will also look into the conversion/update script. Let me know once I can try...

I will clean the conversion script up next week and ping you once it can be tried.

@tischi we have a new project that I have updated: https://github.com/mobie/zebrafish-lm-project

constantinpape commented 1 year ago

This is all implemented now.