SBC-Utrecht / pytom-match-pick

GPU-accelerated template matching for cryo-ET
https://sbc-utrecht.github.io/pytom-match-pick/
GNU General Public License v2.0
28 stars 8 forks source link

pytom-match-pick as a scipion tomo plugin #146

Open McHaillet opened 6 months ago

McHaillet commented 6 months ago

@rdrighetto approached us about enabling pytom-match-pick as a scipion-tomo plugin. Which I am all for as it makes incorporation into a scipion processing workflow very easy. I assume it can then also load CTF parameters and dose weighting from a Scipion project.

Maybe some questions for you @rdrighetto:

@sroet I am tagging you here to make you aware of this discussion!

rdrighetto commented 6 months ago

Hello @McHaillet!

First, let me answer your questions directly:

Correct! The plugin would be hosted under https://github.com/scipion-em/scipion-em-pytom (or similar)

  • What would happen with API changes? We haven't released a version 1.0 yet and I am still considering whether some things could be easier parameter wise. Can we link the scipion plugin to a specific version on pip?

In principle, if the API changes, someone needs to update the Scipion plugin accordingly. Yes, you can pin a specific version from pip in the plugin installation, so you ensure that the plugin would always use that particular version of the original package (python-match-pick in this case) and you don't need to worry about updating the plugin, at least for a while. But eventually, you would want the plugin to support the latest version of your software package.

  • Is the scipion plugin just wrapping the command line inputs of our package?

Yes.

  • More out of interest as I haven't used scipion-tomo: do they offer a GUI around all the software?

Yes, users will interact with your software via the Scipion GUI. The most simple case is just exposing the CLI options in the Scipion format so they show up on a simple GUI. See example for MemBrain-seg: image You can go more fancy by implementing specific viewers and analysis pipelines for your plugin, but in principle, I don't think that will be necessary for pytom-match-pick.

Implementing a new plugin seems like a daunting task at first, but it's not so difficult. Most important is to get familiar with the Scipion objects and classes. If you guys want to know more, I recommend you to join the Discord server and/or to get in touch with the core developers like @pconesa and @JorMaister. I could make a draft plugin starting with the installation definition sometime next week, what do you guys think?

pconesa commented 6 months ago

Hi all!

Thanks @rdrighetto for activating this. Ricardo's suggestions are perfect, nothing to add. Just letting you know that we are available at discord for anything you may need: a few lines, a call, "co-developing"....

It would be nice to incorporate a new template matching method to the already big "tomo set of plugins"

If you want to get an idea of what Scipion tomo is follow this link:

https://scipion-em.github.io/docs/release-3.0.0/docs/user/tutorials/tomo/tomography-intro.html# tomography-intro

This page summarizes the benefits we think scipion provides for developers:

https://scipion.i2pc.es/developers

Among them, automated testing, it frees you from implementing a GUI or a bunch of metadata/images converters. Brings you users (all Scipion users)...

McHaillet commented 6 months ago

Hi both! @pconesa thanks for joining in!

Sorry for a bit late response.

That sounds all good to me! Especially the integation with other packages is great.

At the moment, I have no time to spend working on it as I am finishing my thesis. I am happy to give any input though.

Implementing a new plugin seems like a daunting task at first, but it's not so difficult. Most important is to get familiar with the Scipion objects and classes. If you guys want to know more, I recommend you to join the Discord server and/or to get in touch with the core developers like @pconesa and @JorMaister. I could make a draft plugin starting with the installation definition sometime next week, what do you guys think?

That would be really nice!

Best! Marten

pconesa commented 6 months ago

Nice, I understand. It would be also something tab could add to you thesis manuscript!

I know you must be very busy.

We'll somehow find a way to take this further.