Skip to content
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

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

Open
McHaillet opened this issue Mar 21, 2024 · 4 comments
Open

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

McHaillet opened this issue Mar 21, 2024 · 4 comments

Comments

@McHaillet
Copy link
Collaborator

McHaillet commented Mar 21, 2024

@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:

  • As far as I see these are hosted on the scipion organization on github: https://github.com/orgs/scipion-em/repositories ?
  • 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?
  • Is the scipion plugin just wrapping the command line inputs of our package?
  • More out of interest as I haven't used scipion-tomo: do they offer a GUI around all the software?

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

@rdrighetto
Copy link

rdrighetto commented Mar 22, 2024

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
Copy link

pconesa commented Mar 24, 2024

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
Copy link
Collaborator Author

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
Copy link

pconesa commented Apr 3, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants