scipion-em-xmipp 24.6.0.0__tar.gz → 24.12.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- scipion-em-xmipp-24.6.0.0/CHANGES.md → scipion-em-xmipp-24.12.2/CHANGELOG.md +44 -2
- {scipion-em-xmipp-24.6.0.0/scipion_em_xmipp.egg-info → scipion-em-xmipp-24.12.2}/PKG-INFO +3 -3
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/requirements.txt +4 -2
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2/scipion_em_xmipp.egg-info}/PKG-INFO +3 -3
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/scipion_em_xmipp.egg-info/SOURCES.txt +10 -6
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/scipion_em_xmipp.egg-info/requires.txt +3 -2
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/setup.py +5 -4
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/__init__.py +110 -92
- scipion-em-xmipp-24.12.2/xmipp3/checkProtocolsConf.py +117 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/constants.py +3 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/convert/convert.py +31 -10
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/__init__.py +4 -2
- scipion-em-xmipp-24.12.2/xmipp3/protocols/protocol_apply_tilt_to_ctf.py +114 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_cl2d.py +1 -1
- scipion-em-xmipp-24.12.2/xmipp3/protocols/protocol_cl2d_clustering.py +303 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_classify_pca.py +3 -1
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_classify_pca_streaming.py +1 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_compare_reprojections.py +2 -2
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_convert_pdb.py +9 -4
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_create_gallery.py +84 -12
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_ctf_consensus.py +186 -273
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_ctf_defocus_group.py +4 -4
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_ctf_micrographs.py +12 -1
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_deep_center.py +2 -2
- scipion-em-xmipp-24.12.2/xmipp3/protocols/protocol_deep_center_predict.py +140 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_extract_particles.py +1 -1
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_flexalign.py +46 -47
- scipion-em-xmipp-24.12.2/xmipp3/protocols/protocol_mics_defocus_balancer.py +341 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_movie_alignment_consensus.py +1 -1
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_movie_dose_analysis.py +159 -77
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_movie_gain.py +5 -1
- scipion-em-xmipp-24.12.2/xmipp3/protocols/protocol_movie_max_shift.py +459 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_reconstruct_fourier.py +29 -14
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_reconstruct_highres.py +15 -2
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_simulate_ctf.py +1 -1
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_subtract_projection.py +89 -28
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_tilt_analysis.py +95 -191
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_trigger_data.py +22 -12
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_validate_fscq.py +1 -1
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_volume_adjust_sub.py +0 -4
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_volume_local_sharpening.py +34 -24
- scipion-em-xmipp-24.12.2/xmipp3/protocols.conf +233 -0
- scipion-em-xmipp-24.12.2/xmipp3/tests/test_protocols_deepcenter_predict.py +66 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocols_xmipp_2d.py +27 -7
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocols_xmipp_3d.py +16 -755
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocols_xmipp_mics.py +43 -4
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocols_xmipp_movies.py +0 -169
- scipion-em-xmipp-24.12.2/xmipp3/version.py +38 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/__init__.py +3 -1
- scipion-em-xmipp-24.12.2/xmipp3/viewers/viewer_apply_tilt_to_ctf.py +81 -0
- scipion-em-xmipp-24.12.2/xmipp3/viewers/viewer_cl2d_clustering.py +131 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_movie_alignment.py +3 -9
- scipion-em-xmipp-24.6.0.0/xmipp3/protocols/protocol_angular_resolution_alignment.py +0 -204
- scipion-em-xmipp-24.6.0.0/xmipp3/protocols/protocol_movie_max_shift.py +0 -391
- scipion-em-xmipp-24.6.0.0/xmipp3/protocols/protocol_movie_opticalflow.py +0 -416
- scipion-em-xmipp-24.6.0.0/xmipp3/protocols.conf +0 -207
- scipion-em-xmipp-24.6.0.0/xmipp3/tests/test_protocols_angular_resolution_alignment.py +0 -88
- scipion-em-xmipp-24.6.0.0/xmipp3/tests/test_protocols_mixed_movies.py +0 -149
- scipion-em-xmipp-24.6.0.0/xmipp3/viewers/viewer_angular_resolution_alignment.py +0 -148
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/LICENSE +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/MANIFEST.in +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/README.md +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/scipion_em_xmipp.egg-info/dependency_links.txt +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/scipion_em_xmipp.egg-info/entry_points.txt +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/scipion_em_xmipp.egg-info/top_level.txt +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/setup.cfg +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/base.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/bibtex.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/convert/__init__.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/convert/dataimport.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/convert/io_coordinates.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/programs.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_align_volume.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_align_volume_and_particles.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_analyze_local_ctf.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_angular_graph_consistency.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_apply_alignment.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_apply_transformation_matrix.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_apply_zernike3d.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_assignment_tilt_pair.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_break_symmetry.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_center_particles.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_cl2d_align.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_classes_2d_mapping.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_compare_angles.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_consensus_classes.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_consensus_local_ctf.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_core_analysis.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_ctf_correct_wiener2d.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_deep_hand.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_deep_micrograph_screen.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_denoise_particles.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_eliminate_empty_images.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_enrich.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_extract_asymmetric_unit.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_extract_particles_movies.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_extract_particles_pairs.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_generate_reprojections.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_helical_parameters.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_kerdensom.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_local_ctf.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_ml2d.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_movie_split_frames.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_multiple_fscs.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_multireference_alignability.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_normalize_strain.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_particle_pick.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_particle_pick_automatic.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_particle_pick_consensus.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_particle_pick_pairs.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_particle_pick_remove_duplicates.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_phantom_create.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_pick_noise.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_postProcessing_deepPostProcessing.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_preprocess/__init__.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_preprocess/geometrical_mask.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_preprocess/protocol_add_noise.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_preprocess/protocol_create_mask2d.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_preprocess/protocol_create_mask3d.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_preprocess/protocol_crop_resize.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_preprocess/protocol_filter.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_preprocess/protocol_image_operate.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_preprocess/protocol_mask.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_preprocess/protocol_movie_resize.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_preprocess/protocol_preprocess.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_preprocess/protocol_process.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_preprocess_micrographs.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_projmatch/__init__.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_projmatch/projmatch_form.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_projmatch/projmatch_initialize.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_projmatch/projmatch_steps.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_projmatch/protocol_projmatch.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_random_conical_tilt.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_ransac.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_reconstruct_significant.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_reconstruct_swarm.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_resolution3d.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_resolution_bfactor.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_resolution_deepres.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_resolution_directional.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_resolution_fso.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_resolution_monogenic_signal.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_rotate_volume.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_rotational_symmetry.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_screen_deepConsensus.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_screen_deeplearning.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_screen_particles.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_shift_particles.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_shift_volume.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_structure_map.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_structure_map_zernike3d.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_validate_nontilt.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_validate_overfitting.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_volume_consensus.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_volume_deform_zernike3d.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_volume_local_adjust.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_volume_strain.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_write_testC.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/protocols/protocol_write_testP.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/__init__.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_convert_xmipp.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocol_angular_graph_consistency.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocol_apply_transformation_matrix.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocol_compare_angles.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocol_consensus_classes3D.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocol_ctf_consensus.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocol_extract_asymmetric_unit.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocol_monodir.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocol_multiple_fsc.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocol_multireference_alignability.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocol_reconstruct_fourier.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocol_screen_deepConsensus.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocol_simulate_ctf.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocol_validate_fscq.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocol_validate_overfitting.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocols_add_noise.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocols_continuousflex.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocols_deepVolPostprocessing.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocols_deepres.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocols_fso.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocols_highres.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocols_local_defocus.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocols_localdeblur.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocols_monores.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocols_realignment_classes.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocols_xmipp_movie_resize.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/tests/test_protocols_zernike3d.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/utils.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/plotter.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_analyze_local_ctf.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_cl2d.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_consensus_classes.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_ctf_consensus.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_deepEMHancer.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_deep_consensus.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_deep_micrograph_cleaner.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_dose_analysis.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_eliminate_empty_images.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_extract_asymmetric_unit.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_local_sharpening.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_ml2d.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_normalize_strain.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_pdb_deform_zernike3d.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_projmatch.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_ransac.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_reconstruct_highres.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_resolution3d.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_resolution_bfactor.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_resolution_deepres.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_resolution_directional.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_resolution_fso.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_resolution_monogenic_signal.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_structure_map.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_subtract_projection.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_swarm.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_validate_fscq.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_validate_nontilt.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_validate_overfitting.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_volume_consensus.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_volume_deform_zernike3d.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_volume_strain.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/viewers/viewer_volume_subtraction.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/wizards.py +0 -0
- {scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/xmipp3/xmipp_logo.png +0 -0
|
@@ -1,3 +1,45 @@
|
|
|
1
|
+
## Release 3.24.12.2 - Poseidon
|
|
2
|
+
- More scipion-em-xmipp
|
|
3
|
+
- Updating version for pypi requirements
|
|
4
|
+
- Bug cloning tag
|
|
5
|
+
## Release 3.24.12 - Poseidon
|
|
6
|
+
- New protocols
|
|
7
|
+
- apply_tilt_to_ctf: Apply a local deviation to the CTF based on the micrograph's tilt
|
|
8
|
+
angle
|
|
9
|
+
- mics_defocus_balancer: It takes as input a certain number of CTFs and makes a balanced sampling of N images based on the defocus U values
|
|
10
|
+
- deep_center_predict: Center a set of particles in 2D using a neural network
|
|
11
|
+
- cl2d_clustering: 2D clustering protocol to group similar images (2D Averages or 2D Classes)
|
|
12
|
+
|
|
13
|
+
- Protocols updated
|
|
14
|
+
- flexalign: Added support for reading EER. Optimized and refactor the streaming, the continue action stabilized. FlexAlign can run multiple times in a single GPU or in multiple GPUs from within Scipion3.
|
|
15
|
+
- convert_pdb: now can read cif
|
|
16
|
+
- create_gallery: Allow Scipion protocol create gallery to access missing projection options
|
|
17
|
+
- ctf_consensus: optimized and refactor the streaming, the continue action stabilized. Remove parallelization
|
|
18
|
+
- movie_dose_analysis: optimized and refactor the streaming, the continue action stabilized
|
|
19
|
+
- movie_max_shift: optimized and refactor the streaming, the continue action stabilized, Remove parallelization
|
|
20
|
+
- tilt_analysis: optimized and refactor the streaming, the continue action stabilized
|
|
21
|
+
- subtract_projection: Adaptations for new logic in Xmipp program
|
|
22
|
+
- reconstruct_highres: Add GPU use for local angle assignment
|
|
23
|
+
|
|
24
|
+
- Protocols fixed
|
|
25
|
+
- trigger_data: Fix the way we split the output
|
|
26
|
+
- subtract_projection: fnMask sub
|
|
27
|
+
- classify_pca: Bug fix in the validate function
|
|
28
|
+
- reconstruct_fourier: Fourier reconstruction now allows performing the CTF correction inside the same protocol.
|
|
29
|
+
- volume_local_sharpening: local deblur performs now a single iteration by defaul
|
|
30
|
+
- movie_max_shift: fixed with several parallel threads in streaming
|
|
31
|
+
- reconstruct_highres: add unassigned vars fnVol1 fnVol2 to set loop
|
|
32
|
+
- ctf_defocus_group: fix when testing multiple downsampling factors
|
|
33
|
+
- ctf_micrographs: fix when testing multiple downsampling factors
|
|
34
|
+
|
|
35
|
+
- Protocols deprecated (For more details visit [this](https://github.com/I2PC/xmipp/wiki/Deprecating-programs-and-protocols))
|
|
36
|
+
- angular_resolution_alignment
|
|
37
|
+
- movie_opticalflow.py
|
|
38
|
+
|
|
39
|
+
- More scipion-em-xmipp
|
|
40
|
+
- scikit-learn updated to 1.2
|
|
41
|
+
- protocols.conf list completed. All protocols are listed and clustered in Scipion
|
|
42
|
+
|
|
1
43
|
## Release 3.24.06 - Oceanus
|
|
2
44
|
- New protocols
|
|
3
45
|
- movie_alignment_consensus: protocol for the comparison of two global alignments
|
|
@@ -28,7 +70,7 @@
|
|
|
28
70
|
- metaprotocol_golden_highres
|
|
29
71
|
- solid_angle
|
|
30
72
|
- split_volume
|
|
31
|
-
- More
|
|
73
|
+
- More scipion-em-xmipp
|
|
32
74
|
- Solve Sonar Cloud reported bugs
|
|
33
75
|
- Flexible import of pyQT on chimera script
|
|
34
76
|
- Removing tkAgg matplotlib requirement in viewer_structure_map
|
|
@@ -58,7 +100,7 @@
|
|
|
58
100
|
- classification_gpuCorr
|
|
59
101
|
- classification_gpuCorr_full
|
|
60
102
|
- classification_gpuCorr_semi
|
|
61
|
-
- More
|
|
103
|
+
- More scipion-em-xmipp
|
|
62
104
|
- Updated Nvidia driver required version
|
|
63
105
|
|
|
64
106
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 1.0
|
|
2
2
|
Name: scipion-em-xmipp
|
|
3
|
-
Version: 24.
|
|
4
|
-
Summary: Plugin to use Xmipp programs within the Scipion framework (see https://
|
|
3
|
+
Version: 24.12.2
|
|
4
|
+
Summary: Plugin to use Xmipp programs within the Scipion framework (see https://xmipp.i2pc.es/).
|
|
5
5
|
Home-page: https://github.com/i2pc/scipion-em-xmipp
|
|
6
6
|
Author: I2PC
|
|
7
|
-
Author-email:
|
|
7
|
+
Author-email: xmipp@cnb.csic.es
|
|
8
8
|
License: UNKNOWN
|
|
9
9
|
Description: [](https://github.com/I2PC/scipion-em-xmipp/actions/workflows/build.yml)
|
|
10
10
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 1.0
|
|
2
2
|
Name: scipion-em-xmipp
|
|
3
|
-
Version: 24.
|
|
4
|
-
Summary: Plugin to use Xmipp programs within the Scipion framework (see https://
|
|
3
|
+
Version: 24.12.2
|
|
4
|
+
Summary: Plugin to use Xmipp programs within the Scipion framework (see https://xmipp.i2pc.es/).
|
|
5
5
|
Home-page: https://github.com/i2pc/scipion-em-xmipp
|
|
6
6
|
Author: I2PC
|
|
7
|
-
Author-email:
|
|
7
|
+
Author-email: xmipp@cnb.csic.es
|
|
8
8
|
License: UNKNOWN
|
|
9
9
|
Description: [](https://github.com/I2PC/scipion-em-xmipp/actions/workflows/build.yml)
|
|
10
10
|
|
{scipion-em-xmipp-24.6.0.0 → scipion-em-xmipp-24.12.2}/scipion_em_xmipp.egg-info/SOURCES.txt
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
CHANGELOG.md
|
|
2
2
|
LICENSE
|
|
3
3
|
MANIFEST.in
|
|
4
4
|
README.md
|
|
@@ -13,10 +13,12 @@ scipion_em_xmipp.egg-info/top_level.txt
|
|
|
13
13
|
xmipp3/__init__.py
|
|
14
14
|
xmipp3/base.py
|
|
15
15
|
xmipp3/bibtex.py
|
|
16
|
+
xmipp3/checkProtocolsConf.py
|
|
16
17
|
xmipp3/constants.py
|
|
17
18
|
xmipp3/programs.py
|
|
18
19
|
xmipp3/protocols.conf
|
|
19
20
|
xmipp3/utils.py
|
|
21
|
+
xmipp3/version.py
|
|
20
22
|
xmipp3/wizards.py
|
|
21
23
|
xmipp3/xmipp_logo.png
|
|
22
24
|
xmipp3/convert/__init__.py
|
|
@@ -28,8 +30,8 @@ xmipp3/protocols/protocol_align_volume.py
|
|
|
28
30
|
xmipp3/protocols/protocol_align_volume_and_particles.py
|
|
29
31
|
xmipp3/protocols/protocol_analyze_local_ctf.py
|
|
30
32
|
xmipp3/protocols/protocol_angular_graph_consistency.py
|
|
31
|
-
xmipp3/protocols/protocol_angular_resolution_alignment.py
|
|
32
33
|
xmipp3/protocols/protocol_apply_alignment.py
|
|
34
|
+
xmipp3/protocols/protocol_apply_tilt_to_ctf.py
|
|
33
35
|
xmipp3/protocols/protocol_apply_transformation_matrix.py
|
|
34
36
|
xmipp3/protocols/protocol_apply_zernike3d.py
|
|
35
37
|
xmipp3/protocols/protocol_assignment_tilt_pair.py
|
|
@@ -37,6 +39,7 @@ xmipp3/protocols/protocol_break_symmetry.py
|
|
|
37
39
|
xmipp3/protocols/protocol_center_particles.py
|
|
38
40
|
xmipp3/protocols/protocol_cl2d.py
|
|
39
41
|
xmipp3/protocols/protocol_cl2d_align.py
|
|
42
|
+
xmipp3/protocols/protocol_cl2d_clustering.py
|
|
40
43
|
xmipp3/protocols/protocol_classes_2d_mapping.py
|
|
41
44
|
xmipp3/protocols/protocol_classify_pca.py
|
|
42
45
|
xmipp3/protocols/protocol_classify_pca_streaming.py
|
|
@@ -52,6 +55,7 @@ xmipp3/protocols/protocol_ctf_correct_wiener2d.py
|
|
|
52
55
|
xmipp3/protocols/protocol_ctf_defocus_group.py
|
|
53
56
|
xmipp3/protocols/protocol_ctf_micrographs.py
|
|
54
57
|
xmipp3/protocols/protocol_deep_center.py
|
|
58
|
+
xmipp3/protocols/protocol_deep_center_predict.py
|
|
55
59
|
xmipp3/protocols/protocol_deep_hand.py
|
|
56
60
|
xmipp3/protocols/protocol_deep_micrograph_screen.py
|
|
57
61
|
xmipp3/protocols/protocol_denoise_particles.py
|
|
@@ -66,12 +70,12 @@ xmipp3/protocols/protocol_generate_reprojections.py
|
|
|
66
70
|
xmipp3/protocols/protocol_helical_parameters.py
|
|
67
71
|
xmipp3/protocols/protocol_kerdensom.py
|
|
68
72
|
xmipp3/protocols/protocol_local_ctf.py
|
|
73
|
+
xmipp3/protocols/protocol_mics_defocus_balancer.py
|
|
69
74
|
xmipp3/protocols/protocol_ml2d.py
|
|
70
75
|
xmipp3/protocols/protocol_movie_alignment_consensus.py
|
|
71
76
|
xmipp3/protocols/protocol_movie_dose_analysis.py
|
|
72
77
|
xmipp3/protocols/protocol_movie_gain.py
|
|
73
78
|
xmipp3/protocols/protocol_movie_max_shift.py
|
|
74
|
-
xmipp3/protocols/protocol_movie_opticalflow.py
|
|
75
79
|
xmipp3/protocols/protocol_movie_split_frames.py
|
|
76
80
|
xmipp3/protocols/protocol_multiple_fscs.py
|
|
77
81
|
xmipp3/protocols/protocol_multireference_alignability.py
|
|
@@ -155,15 +159,14 @@ xmipp3/tests/test_protocol_simulate_ctf.py
|
|
|
155
159
|
xmipp3/tests/test_protocol_validate_fscq.py
|
|
156
160
|
xmipp3/tests/test_protocol_validate_overfitting.py
|
|
157
161
|
xmipp3/tests/test_protocols_add_noise.py
|
|
158
|
-
xmipp3/tests/test_protocols_angular_resolution_alignment.py
|
|
159
162
|
xmipp3/tests/test_protocols_continuousflex.py
|
|
160
163
|
xmipp3/tests/test_protocols_deepVolPostprocessing.py
|
|
164
|
+
xmipp3/tests/test_protocols_deepcenter_predict.py
|
|
161
165
|
xmipp3/tests/test_protocols_deepres.py
|
|
162
166
|
xmipp3/tests/test_protocols_fso.py
|
|
163
167
|
xmipp3/tests/test_protocols_highres.py
|
|
164
168
|
xmipp3/tests/test_protocols_local_defocus.py
|
|
165
169
|
xmipp3/tests/test_protocols_localdeblur.py
|
|
166
|
-
xmipp3/tests/test_protocols_mixed_movies.py
|
|
167
170
|
xmipp3/tests/test_protocols_monores.py
|
|
168
171
|
xmipp3/tests/test_protocols_realignment_classes.py
|
|
169
172
|
xmipp3/tests/test_protocols_xmipp_2d.py
|
|
@@ -176,8 +179,9 @@ xmipp3/viewers/__init__.py
|
|
|
176
179
|
xmipp3/viewers/plotter.py
|
|
177
180
|
xmipp3/viewers/viewer.py
|
|
178
181
|
xmipp3/viewers/viewer_analyze_local_ctf.py
|
|
179
|
-
xmipp3/viewers/
|
|
182
|
+
xmipp3/viewers/viewer_apply_tilt_to_ctf.py
|
|
180
183
|
xmipp3/viewers/viewer_cl2d.py
|
|
184
|
+
xmipp3/viewers/viewer_cl2d_clustering.py
|
|
181
185
|
xmipp3/viewers/viewer_consensus_classes.py
|
|
182
186
|
xmipp3/viewers/viewer_ctf_consensus.py
|
|
183
187
|
xmipp3/viewers/viewer_deepEMHancer.py
|
|
@@ -11,7 +11,8 @@ from setuptools import setup, find_packages
|
|
|
11
11
|
from codecs import open
|
|
12
12
|
from os import path
|
|
13
13
|
|
|
14
|
-
from xmipp3 import XMIPP_URL
|
|
14
|
+
from xmipp3 import XMIPP_URL
|
|
15
|
+
from xmipp3.version import __version__
|
|
15
16
|
|
|
16
17
|
here = path.abspath(path.dirname(__file__))
|
|
17
18
|
|
|
@@ -46,12 +47,12 @@ setup(
|
|
|
46
47
|
# For a discussion on single-sourcing the version across setup.py and the
|
|
47
48
|
# project code, see
|
|
48
49
|
# https://packaging.python.org/en/latest/single_source_version.html
|
|
49
|
-
version=__version__, #
|
|
50
|
+
version=__version__[3:], # Remove the "3" from the number version
|
|
50
51
|
|
|
51
52
|
# This is a one-line description or tagline of what your project does. This
|
|
52
53
|
# corresponds to the "Summary" metadata field:
|
|
53
54
|
# https://packaging.python.org/specifications/core-metadata/#summary
|
|
54
|
-
description='Plugin to use Xmipp programs within the Scipion framework (see https://
|
|
55
|
+
description='Plugin to use Xmipp programs within the Scipion framework (see https://xmipp.i2pc.es/).',
|
|
55
56
|
|
|
56
57
|
# This is an optional longer description of your project that represents
|
|
57
58
|
# the body of text which users will see when they visit PyPI.
|
|
@@ -75,7 +76,7 @@ setup(
|
|
|
75
76
|
|
|
76
77
|
# This should be a valid email address corresponding to the author listed
|
|
77
78
|
# above.
|
|
78
|
-
author_email='
|
|
79
|
+
author_email='xmipp@cnb.csic.es', # Optional
|
|
79
80
|
|
|
80
81
|
# Classifiers help users find your project by categorizing it.
|
|
81
82
|
#
|
|
@@ -27,36 +27,59 @@
|
|
|
27
27
|
# **************************************************************************
|
|
28
28
|
|
|
29
29
|
import json
|
|
30
|
-
import subprocess
|
|
31
30
|
from datetime import datetime
|
|
32
|
-
|
|
33
|
-
from pyworkflow import Config
|
|
34
31
|
import pwem
|
|
32
|
+
from pyworkflow import Config
|
|
35
33
|
import pyworkflow.utils as pwutils
|
|
36
|
-
|
|
34
|
+
from scipion.install.funcs import CommandDef
|
|
35
|
+
from scipion import __version__ as scipionAppVersion
|
|
36
|
+
from packaging.version import Version
|
|
37
37
|
from .base import *
|
|
38
|
-
from .
|
|
38
|
+
from .version import *
|
|
39
|
+
from .constants import XMIPP_HOME, XMIPP_URL, XMIPP_DLTK_NAME, XMIPP_CUDA_BIN, XMIPP_CUDA_LIB, XMIPP_GIT_URL
|
|
39
40
|
|
|
40
|
-
type_of_version = 'release' #'devel'
|
|
41
|
-
_logo = "xmipp_logo" + ("" if type_of_version == 'release' else '_devel') + '.png'
|
|
42
41
|
|
|
43
42
|
_references = ['delaRosaTrevin2013', 'Sorzano2013', 'Strelak2021']
|
|
44
|
-
|
|
45
|
-
__version__ = _currentBinVersion[2:] + ".0" # Set this to ".0" on each xmipp binary release, otherwise increase it --> ".1", ".2", ...
|
|
46
|
-
|
|
43
|
+
_currentDepVersion = '1.0'
|
|
47
44
|
# Requirement version variables
|
|
48
45
|
NVIDIA_DRIVERS_MINIMUM_VERSION = 450
|
|
49
46
|
|
|
47
|
+
type_of_version = version.type_of_version
|
|
48
|
+
_logo = version._logo
|
|
49
|
+
_binTagVersion = version._binTagVersion
|
|
50
|
+
_pluginTagVersion= version._pluginTagVersion
|
|
51
|
+
_currentDepVersion = version._currentDepVersion
|
|
52
|
+
__version__ = version.__version__
|
|
53
|
+
|
|
54
|
+
|
|
50
55
|
class Plugin(pwem.Plugin):
|
|
51
56
|
_homeVar = XMIPP_HOME
|
|
52
57
|
_pathVars = [XMIPP_HOME]
|
|
53
58
|
_supportedVersions = []
|
|
54
59
|
_url = XMIPP_URL
|
|
55
60
|
_condaRootPath = None
|
|
56
|
-
|
|
61
|
+
# Refressing the plugin
|
|
62
|
+
# Inspects the call stack to find 'installPipModule' and sets 'self._plugin' to None.
|
|
63
|
+
# Uses CPython's internal API 'PyFrame_LocalsToFast' to sync changes.
|
|
64
|
+
# Risky and CPython-specific; use only if redesign is not possible.
|
|
65
|
+
try:
|
|
66
|
+
import inspect
|
|
67
|
+
import ctypes
|
|
68
|
+
for frameInfo in inspect.stack():
|
|
69
|
+
if frameInfo.function == "installPipModule":
|
|
70
|
+
frame = frameInfo[0]
|
|
71
|
+
frame.f_locals['self']._plugin = None
|
|
72
|
+
ctypes.pythonapi.PyFrame_LocalsToFast(
|
|
73
|
+
ctypes.py_object(frame),
|
|
74
|
+
ctypes.c_int(1))
|
|
75
|
+
except Exception as e:
|
|
76
|
+
print(e)
|
|
77
|
+
|
|
57
78
|
@classmethod
|
|
58
79
|
def _defineVariables(cls):
|
|
59
|
-
cls.
|
|
80
|
+
cls._defineEmVar(XMIPP_HOME, pwem.Config.XMIPP_HOME)
|
|
81
|
+
cls._defineVar(XMIPP_CUDA_BIN, pwem.Config.CUDA_BIN)
|
|
82
|
+
cls._defineVar(XMIPP_CUDA_LIB, pwem.Config.CUDA_LIB)
|
|
60
83
|
|
|
61
84
|
@classmethod
|
|
62
85
|
def getEnviron(cls, xmippFirst=True):
|
|
@@ -65,8 +88,8 @@ class Plugin(pwem.Plugin):
|
|
|
65
88
|
pos = pwutils.Environ.BEGIN if xmippFirst else pwutils.Environ.END
|
|
66
89
|
|
|
67
90
|
environ.update({
|
|
68
|
-
'PATH':
|
|
69
|
-
'LD_LIBRARY_PATH':
|
|
91
|
+
'PATH': cls.getVar(XMIPP_CUDA_BIN),
|
|
92
|
+
'LD_LIBRARY_PATH': cls.getVar(XMIPP_CUDA_LIB)
|
|
70
93
|
}, position=pwutils.Environ.END)
|
|
71
94
|
|
|
72
95
|
if os.path.isfile(getXmippPath('xmippEnv.json')):
|
|
@@ -117,94 +140,88 @@ class Plugin(pwem.Plugin):
|
|
|
117
140
|
Scipion-defined software can be used as dependencies
|
|
118
141
|
by using its name as string.
|
|
119
142
|
"""
|
|
143
|
+
|
|
144
|
+
# Determine if we are on a development
|
|
145
|
+
bundleDir = cls.__getBundleDirectory()
|
|
146
|
+
develMode = bundleDir is not None
|
|
147
|
+
|
|
148
|
+
COMPILE_TARGETS = [
|
|
149
|
+
'dist/bin/xmipp_image_header',
|
|
150
|
+
'dist/xmipp.bashrc'
|
|
151
|
+
]
|
|
152
|
+
|
|
153
|
+
# When changing dependencies, increment _currentDepVersion
|
|
154
|
+
CONDA_DEPENDENCIES = [
|
|
155
|
+
'cmake>=3.17',
|
|
156
|
+
'hdf5>=1.18',
|
|
157
|
+
'sqlite>=3',
|
|
158
|
+
'fftw>=3',
|
|
159
|
+
'mpich-mpicxx',
|
|
160
|
+
'c-compiler',
|
|
161
|
+
'cxx-compiler',
|
|
162
|
+
'make',
|
|
163
|
+
'openjdk',
|
|
164
|
+
'libtiff',
|
|
165
|
+
'libjpeg-turbo'
|
|
166
|
+
]
|
|
167
|
+
|
|
168
|
+
if os.environ['CONDA_PREFIX'] is not None: # TODO replace with pyworkflow method when available.
|
|
169
|
+
commands = CommandDef('conda install -c conda-forge ' + ' '.join(CONDA_DEPENDENCIES))
|
|
170
|
+
env.addPackage(
|
|
171
|
+
'xmippDep', version=_currentDepVersion,
|
|
172
|
+
tar='void.tgz',
|
|
173
|
+
commands=commands.getCommands(),
|
|
174
|
+
neededProgs=['conda'],
|
|
175
|
+
default=False
|
|
176
|
+
)
|
|
177
|
+
|
|
178
|
+
if develMode:
|
|
179
|
+
env.addPackage(
|
|
180
|
+
'xmippDev',
|
|
181
|
+
tar='void.tgz',
|
|
182
|
+
commands=[(f'cd {bundleDir} && ./xmipp', COMPILE_TARGETS)],
|
|
183
|
+
neededProgs=['git', 'gcc', 'g++', 'cmake', 'make'],
|
|
184
|
+
updateCuda=True,
|
|
185
|
+
default=False
|
|
186
|
+
)
|
|
187
|
+
|
|
188
|
+
xmippSrc = f'xmippSrc-{version._binTagVersion}'
|
|
189
|
+
installCommands = [
|
|
190
|
+
(f'cd .. && rm -rf {xmippSrc} && '
|
|
191
|
+
f'git clone {XMIPP_GIT_URL} {xmippSrc} && '
|
|
192
|
+
f'cd {xmippSrc} && '
|
|
193
|
+
f'git checkout {version._binTagVersion} && '
|
|
194
|
+
f'./xmipp --production True ', COMPILE_TARGETS)
|
|
195
|
+
]
|
|
196
|
+
env.addPackage(
|
|
197
|
+
'xmippSrc', version=version._binTagVersion,
|
|
198
|
+
tar='void.tgz',
|
|
199
|
+
commands=installCommands,
|
|
200
|
+
neededProgs=['git', 'gcc', 'g++', 'cmake', 'make'],
|
|
201
|
+
updateCuda=True,
|
|
202
|
+
default=not develMode
|
|
203
|
+
)
|
|
204
|
+
|
|
205
|
+
## EXTRA PACKAGES ##
|
|
206
|
+
installDeepLearningToolkit(cls, env)
|
|
120
207
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
# Installation vars for commands formating
|
|
125
|
-
verToken = getXmippPath('v%s' % _currentBinVersion)
|
|
126
|
-
confToken = getXmippPath("xmipp.conf")
|
|
127
|
-
installVars = {'installedToken': "installation_finished",
|
|
128
|
-
'bindingsToken': "bindings_linked",
|
|
129
|
-
'verToken': verToken,
|
|
130
|
-
'nProcessors': env.getProcessors(),
|
|
131
|
-
'xmippHome': getXmippPath(),
|
|
132
|
-
'bindingsSrc': getXmippPath('bindings', 'python'),
|
|
133
|
-
'bindingsDst': Config.getBindingsFolder(),
|
|
134
|
-
'xmippLib': getXmippPath('lib', 'libXmipp.so'),
|
|
135
|
-
'coreLib': getXmippPath('lib', 'libXmippCore.so'),
|
|
136
|
-
'libsDst': Config.getLibFolder(),
|
|
137
|
-
'confToken': confToken,
|
|
138
|
-
'strPlaceHolder': '%s', # to be replaced in the future
|
|
139
|
-
'currVersion': _currentBinVersion
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
## Installation commands (removing bindingsToken)
|
|
143
|
-
installCmd = ("cd {cwd} && {configCmd} && {compileCmd} N={nProcessors:d} && "
|
|
144
|
-
"ln -srfn build {xmippHome} && cd - && "
|
|
145
|
-
"touch {installedToken} && rm {bindingsToken} 2> /dev/null")
|
|
146
|
-
installTgt = [getXmippPath('bin', 'xmipp_reconstruct_significant'),
|
|
147
|
-
getXmippPath("lib/libXmippJNI.so"),
|
|
148
|
-
installVars['installedToken']]
|
|
149
|
-
|
|
150
|
-
## Linking bindings (removing installationToken)
|
|
151
|
-
bindingsAndLibsCmd = ("find {bindingsSrc} -maxdepth 1 -mindepth 1 "
|
|
152
|
-
r"! -name __pycache__ -exec ln -srfn {{}} {bindingsDst} \; && "
|
|
153
|
-
"ln -srfn {coreLib} {libsDst} && "
|
|
154
|
-
"touch {bindingsToken} && "
|
|
155
|
-
"rm {installedToken} 2> /dev/null")
|
|
156
|
-
bindingsAndLibsTgt = [os.path.join(Config.getBindingsFolder(), 'xmipp_base.py'),
|
|
157
|
-
os.path.join(Config.getBindingsFolder(), 'xmippLib.so'),
|
|
158
|
-
os.path.join(Config.getLibFolder(), 'libXmipp.so'),
|
|
159
|
-
installVars['bindingsToken']]
|
|
160
|
-
|
|
161
|
-
sourceTgt = [getXmippPath('xmipp.bashrc')] # Target for xmippSrc and xmippDev
|
|
162
|
-
## Allowing xmippDev if devel mode detected
|
|
208
|
+
@classmethod
|
|
209
|
+
def __getBundleDirectory(cls):
|
|
163
210
|
# plugin = scipion-em-xmipp <-- xmipp3 <-- __init__.py
|
|
164
211
|
pluginDir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
165
212
|
# bundle = xmipp-bundle <- src <- scipion-em-xmipp
|
|
166
213
|
bundleDir = os.path.dirname(os.path.dirname(pluginDir))
|
|
167
214
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
env.addPackage('xmippDev', tar='void.tgz',
|
|
174
|
-
commands=[(installCmd.format(**installVars,
|
|
175
|
-
cwd=bundleDir,
|
|
176
|
-
configCmd='pwd',
|
|
177
|
-
compileCmd='./xmipp all'),
|
|
178
|
-
installTgt+sourceTgt),
|
|
179
|
-
(bindingsAndLibsCmd.format(**installVars),
|
|
180
|
-
bindingsAndLibsTgt)],
|
|
181
|
-
deps=xmippDeps, default=False)
|
|
182
|
-
|
|
183
|
-
avoidConfig = os.environ.get('XMIPP_NOCONFIG', 'False') == 'True'
|
|
184
|
-
alreadyCompiled = os.path.isfile(getXmippPath('v' + _currentBinVersion)) # compilation token (see the xmipp script)
|
|
185
|
-
configSrc = ('./xmipp check_config' if avoidConfig
|
|
186
|
-
else './xmipp config noAsk && ./xmipp check_config')
|
|
187
|
-
env.addPackage('xmippSrc', version=_currentBinVersion,
|
|
188
|
-
# adding 'v' before version to fix a package target (post-link)
|
|
189
|
-
tar='xmippSrc-v' + _currentBinVersion + '.tgz',
|
|
190
|
-
commands=[(installCmd.format(**installVars, cwd='.',
|
|
191
|
-
configCmd=configSrc,
|
|
192
|
-
compileCmd='./xmipp compileAndInstall'),
|
|
193
|
-
installTgt + sourceTgt),
|
|
194
|
-
(bindingsAndLibsCmd.format(**installVars),
|
|
195
|
-
bindingsAndLibsTgt)],
|
|
196
|
-
deps=xmippDeps, default=not (develMode or alreadyCompiled))
|
|
197
|
-
|
|
198
|
-
## EXTRA PACKAGES ##
|
|
199
|
-
installDeepLearningToolkit(cls, env)
|
|
200
|
-
|
|
201
|
-
|
|
215
|
+
isBundle = (os.path.isdir(os.path.join(bundleDir, 'src')) and
|
|
216
|
+
os.path.isfile(os.path.join(bundleDir, 'xmipp')))
|
|
217
|
+
|
|
218
|
+
return bundleDir if isBundle else None
|
|
219
|
+
|
|
202
220
|
def installDeepLearningToolkit(plugin, env):
|
|
203
221
|
|
|
204
222
|
preMsgs = []
|
|
205
223
|
cudaMsgs = []
|
|
206
224
|
nvidiaDriverVer = None
|
|
207
|
-
useGpu = False
|
|
208
225
|
if os.environ.get('CUDA', 'True') == 'True':
|
|
209
226
|
try:
|
|
210
227
|
nvidiaDriverVer = subprocess.Popen(["nvidia-smi",
|
|
@@ -221,7 +238,7 @@ def installDeepLearningToolkit(plugin, env):
|
|
|
221
238
|
f"To enable CUDA (drivers>{NVIDIA_DRIVERS_MINIMUM_VERSION} needed), "
|
|
222
239
|
"set CUDA=True in 'scipion.conf' file")
|
|
223
240
|
nvidiaDriverVer = None
|
|
224
|
-
except (ValueError, TypeError):
|
|
241
|
+
except (ValueError, TypeError, FileNotFoundError):
|
|
225
242
|
nvidiaDriverVer = None
|
|
226
243
|
preMsgs.append("Not nvidia driver found. Type: "
|
|
227
244
|
" nvidia-smi --query-gpu=driver_version --format=csv,noheader")
|
|
@@ -230,6 +247,7 @@ def installDeepLearningToolkit(plugin, env):
|
|
|
230
247
|
msg = ("Tensorflow installed without GPU. Just CPU computations "
|
|
231
248
|
"enabled (slow computations).")
|
|
232
249
|
cudaMsgs.append(msg)
|
|
250
|
+
useGpu = False
|
|
233
251
|
|
|
234
252
|
if nvidiaDriverVer is not None:
|
|
235
253
|
preMsgs.append("CUDA support found. Driver version: %s" % nvidiaDriverVer)
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# ***************************************************************************
|
|
2
|
+
# * Authors: Carlos Oscar Sorzano (coss@cnb.csic.es)
|
|
3
|
+
# *
|
|
4
|
+
# *
|
|
5
|
+
# * This program is free software; you can redistribute it and/or modify
|
|
6
|
+
# * it under the terms of the GNU General Public License as published by
|
|
7
|
+
# * the Free Software Foundation; either version 2 of the License, or
|
|
8
|
+
# * (at your option) any later version.
|
|
9
|
+
# *
|
|
10
|
+
# * This program is distributed in the hope that it will be useful,
|
|
11
|
+
# * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
# * GNU General Public License for more details.
|
|
14
|
+
# *
|
|
15
|
+
# * You should have received a copy of the GNU General Public License
|
|
16
|
+
# * along with this program; if not, write to the Free Software
|
|
17
|
+
# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|
18
|
+
# * 02111-1307 USA
|
|
19
|
+
# *
|
|
20
|
+
# * All comments concerning this program package may be sent to the
|
|
21
|
+
# * e-mail address 'scipion@cnb.csic.es'
|
|
22
|
+
# ***************************************************************************/
|
|
23
|
+
'''
|
|
24
|
+
Description: This script checks for any protocols missing in the file
|
|
25
|
+
protocols.conf and lists them for further action.
|
|
26
|
+
|
|
27
|
+
Usage: python check_missing_protocols.py
|
|
28
|
+
'''
|
|
29
|
+
|
|
30
|
+
import ast
|
|
31
|
+
import glob
|
|
32
|
+
import os
|
|
33
|
+
|
|
34
|
+
def get_classes_from_file(file_path):
|
|
35
|
+
with open(file_path, 'r', encoding='utf-8') as file:
|
|
36
|
+
file_content = file.read()
|
|
37
|
+
tree = ast.parse(file_content)
|
|
38
|
+
class_names = [node.name for node in ast.walk(tree) if isinstance(node, ast.ClassDef)]
|
|
39
|
+
return class_names
|
|
40
|
+
|
|
41
|
+
with open("protocols.conf", 'r', encoding='utf-8') as file:
|
|
42
|
+
protocolsConf = file.read()
|
|
43
|
+
|
|
44
|
+
blackList = ['ScatterImageMarker','XMIPPCOLUMNS', 'XmippProtVolAdjBase', 'AlignVolPartOutputs','ProtPickingConsensusOutput',
|
|
45
|
+
'XmippProtEliminateEmptyBase', 'XmippProtDeepConsSubSet', 'XmippProtWriteTestP', 'NoOutputGenerated','XmippProtSubtractProjectionBase',
|
|
46
|
+
'XmippProtWriteTestC','KendersomBaseClassify','XmippProtAlignVolumeForWeb', 'XMIPPCOLUMNS', 'NoOutputGenerated', 'ScatterImageMarker',
|
|
47
|
+
'AlignVolPartOutputs']
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
#######Missing classes
|
|
51
|
+
missingCounter = 0
|
|
52
|
+
classCounter = 0
|
|
53
|
+
for py_file in glob.glob("protocols/*.py"):
|
|
54
|
+
for class_name in get_classes_from_file(py_file):
|
|
55
|
+
classCounter+=1
|
|
56
|
+
if not class_name in blackList:
|
|
57
|
+
if not class_name in protocolsConf:
|
|
58
|
+
print(f"Missing: {class_name} from {py_file}")
|
|
59
|
+
missingCounter +=1
|
|
60
|
+
print(f"Missing classes: {missingCounter}/{classCounter}")
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
#######Missing tests
|
|
65
|
+
|
|
66
|
+
def extract_protocols_from_file(file_path):
|
|
67
|
+
"""Extrae las llamadas a self.newProtocol en un archivo."""
|
|
68
|
+
protocols = []
|
|
69
|
+
with open(file_path, 'r', encoding='utf-8') as f:
|
|
70
|
+
source_code = f.read()
|
|
71
|
+
tree = ast.parse(source_code)
|
|
72
|
+
for node in ast.walk(tree):
|
|
73
|
+
if isinstance(node, ast.Call):
|
|
74
|
+
if (isinstance(node.func, ast.Attribute) and
|
|
75
|
+
node.func.attr == "newProtocol" and
|
|
76
|
+
isinstance(node.func.value, ast.Name) and
|
|
77
|
+
node.func.value.id == "self"):
|
|
78
|
+
if node.args:
|
|
79
|
+
protocol_node = node.args[0]
|
|
80
|
+
if isinstance(protocol_node, ast.Name):
|
|
81
|
+
protocol = protocol_node.id
|
|
82
|
+
elif isinstance(protocol_node, ast.Attribute):
|
|
83
|
+
protocol = protocol_node.attr
|
|
84
|
+
elif isinstance(protocol_node, ast.Constant):
|
|
85
|
+
protocol = protocol_node.value
|
|
86
|
+
if protocol not in protocols:
|
|
87
|
+
protocols.append(protocol)
|
|
88
|
+
return protocols
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
def extract_protocols_from_folder(folder_path):
|
|
92
|
+
"""Extrae todos los protocolos de los archivos .py en una carpeta."""
|
|
93
|
+
protocolsFull= []
|
|
94
|
+
for root, _, files in os.walk(folder_path):
|
|
95
|
+
for file in files:
|
|
96
|
+
if file.endswith(".py"):
|
|
97
|
+
file_path = os.path.join(root, file)
|
|
98
|
+
protocols = extract_protocols_from_file(file_path)
|
|
99
|
+
for protocol in protocols:
|
|
100
|
+
if protocol not in protocolsFull:
|
|
101
|
+
protocolsFull.append(protocol)
|
|
102
|
+
return protocolsFull
|
|
103
|
+
|
|
104
|
+
folder_path = "tests/"
|
|
105
|
+
protocols = extract_protocols_from_folder(folder_path)
|
|
106
|
+
partProt = protocols.index('xpsp')
|
|
107
|
+
protocols[partProt] = 'XmippProtScreenParticles'
|
|
108
|
+
|
|
109
|
+
protocolsWithoutTest = []
|
|
110
|
+
for py_file in glob.glob("protocols/*.py"):
|
|
111
|
+
for class_name in get_classes_from_file(py_file):
|
|
112
|
+
if not class_name in blackList:
|
|
113
|
+
if class_name not in protocols:
|
|
114
|
+
protocolsWithoutTest.append(class_name)
|
|
115
|
+
|
|
116
|
+
print(f"\nProtocolos without test ({len(protocolsWithoutTest)}/{len(protocols)})")
|
|
117
|
+
print('\n'.join(protocolsWithoutTest))
|
|
@@ -28,10 +28,13 @@ This modules contains constants related to Xmipp3 protocols
|
|
|
28
28
|
"""
|
|
29
29
|
|
|
30
30
|
# ------------------ Constants values --------------------------------------
|
|
31
|
+
XMIPP_GIT_URL = 'https://github.com/I2PC/xmipp.git'
|
|
31
32
|
XMIPP_URL = 'https://github.com/i2pc/scipion-em-xmipp'
|
|
32
33
|
XMIPP_HOME = 'XMIPP_HOME'
|
|
33
34
|
NMA_HOME = 'NMA_HOME'
|
|
34
35
|
XMIPP_DLTK_NAME = 'deepLearningToolkit' # consider to change it to xmipp_DLTK to make short it
|
|
36
|
+
XMIPP_CUDA_BIN = 'XMIPP_CUDA_BIN'
|
|
37
|
+
XMIPP_CUDA_LIB = 'XMIPP_CUDA_LIB'
|
|
35
38
|
|
|
36
39
|
MASK_FILL_VALUE = 0
|
|
37
40
|
MASK_FILL_MIN = 1
|