Comments (29)
Ok, I will discuss with Xu for further development.
from aitom.
Hi @pconesa , the plugin works pretty well, thanks a lot.
A release is available (https://github.com/xulabs/aitom/releases) and code with entry point has been merged (https://github.com/xulabs/aitom/tree/master/aitom/bin). Is it possible now for the plugin to install AITom automatically?
from aitom.
Your release url should be this one: https://github.com/xulabs/aitom/archive/0.1.tar.gz
Optionally you can deploy aitom to pipy and then the installation will become a "pip install aitom"
from aitom.
Hi! Count with our assistance... I think now is the right timing for this. We are preparing a release of the scipion-tomo set of plugins with Eman, imod, some xmipp methods....dynamo is on board too.
from aitom.
Better this page, we very soon will update it
https://scipion-em.github.io/docs/docs/developer/developers.html
from aitom.
@pconesa great! If you could help us with the interfacing, that would be wonderful!
The usage of current functions can be found in the following tutorials.
https://github.com/xulabs/aitom_doc/tree/master/tutorials
from aitom.
What would be the simplest method to integrate...my idea is to:
1.- We create a basic plugin for you with one of the methods integrated.
2.- We share it with you and start co-developing it and co-maintaining it.
How does it sound?
from aitom.
Sounds good!
The simplest method we have is particle picking.
https://github.com/xulabs/aitom_doc/tree/master/tutorials/008_particle_picking
Perhaps we could start from here.
from aitom.
from aitom.
Great. Thanks.
from aitom.
HI @xulabs , I've pushed the scipion plugin for Aitom (a VERY basic one) to scipion-em organization.
It is perfectly ok if you want to have it here under xulabs.
You can find in the readme what do you need....there are though a few items I'd like to comment:
1.- Installation: The plugin is able to install aitom in a conda VE, but for that I needed a release (thus I forked aitom repo and just made a release to have the tar.gz files). There are better ways to do this, this is just a quick hack. The usual way to do it is to use pypi and just do pip install xxxxx.
2.- To invoke the picking I also created an entry point, so in a terminal you can run
picking pathtotomogram.mrc pathtojsonoutputfile.json
The picking script is a slight adaptation os your picking tutorial script.
3.- Picking itself....It is parsing the coordinates in the json, but ....there is no boxsize, I've hardcoded it to 100 but I'm sure this is incorrect. My doubt is if there any information about the boxsize per coordinate. How does it work?
from aitom.
Thanks a lot @pconesa
Currently, almost all of the aitom developers are student volunteers, and they are busy at the end of this semester. Once they are available, I will find a student work on this.
Thanks again!
from aitom.
Great! We can add whoever you want to our slack channel.
from aitom.
from aitom.
HI @pconesa , I successfully install 'scipion-em' in devel mode but meet some problems while testing (after running 'scipion test aitom.tests.tests_picking.TestAitomPicking'). It seems 'picking' command not found.
ERROR running protocol aitom - picking
FAILED with error: Protocol failed: Command ' conda activate aitom-0.1 && picking "/home/zzx/ScipionUserData/projects/TestAitomPicking/Runs/000002_ProtImportTomograms/extra/import_aitom_demo_single_particle_tomogram.mrc" "Runs/000064_AiTomPicking/extra/import_aitom_demo_single_particle_tomogram.mrc.json"' returned non-zero exit status 1
from aitom.
We have seen many issues when we run conda apps.
What has better worked for us is to:
1.- Do not have conda in the path (remove any conda initiatization in the bash.rc or equivalent.
2.- Tell Scipion how to activate conda by setting the variable CONDA_ACTIVATION_CMD to something like:
I have this working for my laptop in my <SCIPION_HOME>/config/scipion.conf , under [BUILD] section :
CONDA_ACTIVATION_CMD= eval "$(/extra/miniconda3/bin/conda shell.bash hook)"
Note that you need to adapt at least the path or even the shell type (in case you don't use bash))
from aitom.
@zhuzhenxi when you say scipion-em .....what actually do you mean?
We are working on scipion 3 (in python3) and the latest released version of scipion is scipion2.0.
Which one have you installed. The plugin I initiated targets Scipion 2.0, so python 2.7
from aitom.
Thanks a lot @pconesa , I will try again.
from aitom.
Conda seems to work, but 'picking' is still 'command not found'(non-zero exit status 127). @pconesa
from aitom.
Hi @zhuzhenxi , that might be because I changed slightly your code to have an entry point for the picking. Please do not take it literally it was just an approach that worked for me:
master...pconesa:master
I find it very easy to have those entry points, so the user/scipion does not need to know where the scripts are, they are available as commands.
from aitom.
Nice! It should work, I actually did it getting the release from my fork, but now that you have your own it should be a matter of pointing to your release.
from aitom.
Actually, I manually install AITom in conda VE 'aitom-0.1'. So how can I depend on the release and maybe install AITom automatically like other Scipion plugins(more friendly to users)?
from aitom.
Yep, I've added you as admin of the plugin repository.
This line is the one grabbing the aitom release from my fork, just need to be adapted to take your url.
https://github.com/scipion-em/scipion-em-aitom/blob/devel/aitom/__init__.py#L133
from aitom.
@zhuzhenxi yes we may deploy it to pipy. Please check how to do it and let me know. Thanks.
from aitom.
You are almost there, your code is ready to be deploy, you just need an account and push it.
We have some instructions for our plugins but there is nothing specific to Scipion there, all is standard pypi.org commands:
https://scipion-em.github.io/docs/docs/developer/creating-a-plugin#create-and-upload-distribution
Except fo the -c "scipion-2.0" (you don't need that for uploading aitom.)
from aitom.
@pconesa got it. Will do. Thank you.
from aitom.
@pconesa @zhuzhenxi the code is now available at
https://test.pypi.org/project/aitom/0.0.1
@zhuzhenxi I have modified the version from 0.1 to 0.01 because it is a very alpha release. Please change the related code and tutorial accordingly if needed.
from aitom.
Great, now we just need to do the pip install using it, not sure how to use a pip package from test.pipy but should be documented somewhere...I can make a PR with that change.
from aitom.
Hi, this completely went out of my radar.
We even organized a tomo course and didn't mention this integration effort.
Maybe is a good time to catch up? How are things going? Do you need any assistance?
from aitom.
Related Issues (20)
- patch codebase with other files
- Fill up publications
- HDF Support HOT 1
- Runtime of aitom.filter.smooth HOT 1
- formating tutorial 007 HOT 3
- tomominer.simulation.reconstruction__simple_convolution cannot find module tomominer HOT 2
- Logic error in code HOT 1
- docker instructions lead to dependency error
- Facing problem running ProtoNet HOT 2
- tutorials 005 HOT 2
- Gum-Net Training not improving with demo data HOT 4
- Some modules are missing HOT 1
- Images HOT 7
- Write a program to detect redundant functions HOT 3
- Inspect how to use AWS functionality to support aitom HOT 1
- Integrate Scipion plugin with aitom HOT 1
- Tutorial of cryoet introductory materials HOT 3
- Integrate simulated annealing image selection code
- pip deployment
- Using AITom in Jupyter Notebook and Google Colab HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aitom.