scipion-em-xmipp 24.12.2__tar.gz → 25.6.1__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.
Files changed (267) hide show
  1. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/CHANGELOG.md +47 -4
  2. scipion_em_xmipp-25.6.1/PKG-INFO +38 -0
  3. scipion_em_xmipp-25.6.1/pyproject.toml +33 -0
  4. scipion_em_xmipp-25.6.1/scipion_em_xmipp.egg-info/PKG-INFO +38 -0
  5. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/scipion_em_xmipp.egg-info/SOURCES.txt +48 -3
  6. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/scipion_em_xmipp.egg-info/entry_points.txt +0 -1
  7. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/__init__.py +105 -72
  8. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/base.py +2 -1
  9. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/convert/convert.py +1 -1
  10. scipion_em_xmipp-25.6.1/xmipp3/legacy/protocols/protocol_angular_resolution_alignment.py +204 -0
  11. scipion_em_xmipp-25.6.1/xmipp3/legacy/protocols/protocol_apply_deformation_zernike3d.py +113 -0
  12. scipion_em_xmipp-25.6.1/xmipp3/legacy/protocols/protocol_classification_gpuCorr.py +821 -0
  13. scipion_em_xmipp-25.6.1/xmipp3/legacy/protocols/protocol_classification_gpuCorr_full.py +1014 -0
  14. scipion_em_xmipp-25.6.1/xmipp3/legacy/protocols/protocol_classification_gpuCorr_semi.py +462 -0
  15. scipion_em_xmipp-25.6.1/xmipp3/legacy/protocols/protocol_classify_kmeans2d.py +285 -0
  16. scipion_em_xmipp-25.6.1/xmipp3/legacy/protocols/protocol_deep_align.py +859 -0
  17. scipion_em_xmipp-25.6.1/xmipp3/legacy/protocols/protocol_deep_denoising.py +425 -0
  18. scipion_em_xmipp-25.6.1/xmipp3/legacy/protocols/protocol_kmeans_clustering.py +122 -0
  19. scipion_em_xmipp-25.6.1/xmipp3/legacy/protocols/protocol_metaprotocol_create_output.py +146 -0
  20. scipion_em_xmipp-25.6.1/xmipp3/legacy/protocols/protocol_metaprotocol_create_subset.py +96 -0
  21. scipion_em_xmipp-25.6.1/xmipp3/legacy/protocols/protocol_metaprotocol_discrete_heterogeneity_scheduler.py +516 -0
  22. scipion_em_xmipp-25.6.1/xmipp3/legacy/protocols/protocol_metaprotocol_golden_highres.py +663 -0
  23. scipion_em_xmipp-25.6.1/xmipp3/legacy/protocols/protocol_mltomo.py +576 -0
  24. scipion_em_xmipp-25.6.1/xmipp3/legacy/protocols/protocol_movie_average.py +202 -0
  25. scipion_em_xmipp-25.6.1/xmipp3/legacy/protocols/protocol_movie_opticalflow.py +416 -0
  26. scipion_em_xmipp-25.6.1/xmipp3/legacy/protocols/protocol_particle_boxsize.py +133 -0
  27. scipion_em_xmipp-25.6.1/xmipp3/legacy/protocols/protocol_reconstruct_heterogeneous.py +1031 -0
  28. scipion_em_xmipp-25.6.1/xmipp3/legacy/protocols/protocol_rotational_spectra.py +212 -0
  29. scipion_em_xmipp-25.6.1/xmipp3/legacy/protocols/protocol_solid_angles.py +632 -0
  30. scipion_em_xmipp-25.6.1/xmipp3/legacy/protocols/protocol_split_volume.py +112 -0
  31. scipion_em_xmipp-25.6.1/xmipp3/legacy/protocols/protocol_split_volume_hierarchical_cluster.py +865 -0
  32. scipion_em_xmipp-25.6.1/xmipp3/legacy/protocols/protocol_subtract_projection.py +265 -0
  33. scipion_em_xmipp-25.6.1/xmipp3/legacy/tests/test_protocol_deep_denoising.py +64 -0
  34. scipion_em_xmipp-25.6.1/xmipp3/legacy/tests/test_protocols_angular_resolution_alignment.py +88 -0
  35. scipion_em_xmipp-25.6.1/xmipp3/legacy/tests/test_protocols_gpuCorr_classifier.py +141 -0
  36. scipion_em_xmipp-25.6.1/xmipp3/legacy/tests/test_protocols_gpuCorr_fullStreaming.py +172 -0
  37. scipion_em_xmipp-25.6.1/xmipp3/legacy/tests/test_protocols_gpuCorr_semiStreaming.py +68 -0
  38. scipion-em-xmipp-24.12.2/xmipp3/tests/test_protocols_highres.py → scipion_em_xmipp-25.6.1/xmipp3/legacy/tests/test_protocols_metaprotocol_golden_highres.py +17 -26
  39. scipion_em_xmipp-25.6.1/xmipp3/legacy/tests/test_protocols_metaprotocol_heterogeneity.py +78 -0
  40. scipion_em_xmipp-25.6.1/xmipp3/legacy/tests/test_protocols_mixed_movies.py +148 -0
  41. scipion_em_xmipp-25.6.1/xmipp3/legacy/tests/test_protocols_solid_angles.py +161 -0
  42. scipion_em_xmipp-25.6.1/xmipp3/legacy/tests/test_protocols_subtract_projection.py +595 -0
  43. scipion_em_xmipp-25.6.1/xmipp3/legacy/tests/test_protocols_xmipp_movies.py +229 -0
  44. scipion_em_xmipp-25.6.1/xmipp3/legacy/viewers/viewer_angular_resolution_alignment.py +148 -0
  45. scipion_em_xmipp-25.6.1/xmipp3/legacy/viewers/viewer_deep_align.py +121 -0
  46. scipion_em_xmipp-25.6.1/xmipp3/legacy/viewers/viewer_metaprotocol_golden_highres.py +140 -0
  47. scipion_em_xmipp-25.6.1/xmipp3/legacy/viewers/viewer_mltomo.py +297 -0
  48. scipion_em_xmipp-25.6.1/xmipp3/legacy/viewers/viewer_solid_angles.py +91 -0
  49. scipion_em_xmipp-25.6.1/xmipp3/legacy/viewers/viewer_split_volume.py +57 -0
  50. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/__init__.py +1 -2
  51. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_align_volume.py +34 -8
  52. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_apply_alignment.py +1 -1
  53. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_apply_tilt_to_ctf.py +2 -3
  54. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_apply_zernike3d.py +2 -1
  55. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_assignment_tilt_pair.py +1 -2
  56. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_center_particles.py +1 -1
  57. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_cl2d.py +1 -2
  58. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_cl2d_align.py +1 -1
  59. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_cl2d_clustering.py +1 -1
  60. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_classify_pca.py +25 -9
  61. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_classify_pca_streaming.py +67 -42
  62. scipion_em_xmipp-25.6.1/xmipp3/protocols/protocol_compute_likelihood.py +368 -0
  63. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_consensus_local_ctf.py +1 -1
  64. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_convert_pdb.py +9 -1
  65. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_create_gallery.py +1 -1
  66. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_ctf_consensus.py +14 -8
  67. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_ctf_correct_wiener2d.py +1 -1
  68. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_ctf_micrographs.py +1 -1
  69. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_deep_center_predict.py +10 -1
  70. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_deep_hand.py +19 -2
  71. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_deep_micrograph_screen.py +1 -1
  72. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_extract_asymmetric_unit.py +1 -1
  73. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_extract_particles.py +22 -10
  74. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_extract_particles_movies.py +1 -1
  75. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_extract_particles_pairs.py +1 -1
  76. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_flexalign.py +3 -4
  77. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_helical_parameters.py +1 -4
  78. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_movie_alignment_consensus.py +122 -40
  79. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_movie_dose_analysis.py +79 -82
  80. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_movie_max_shift.py +6 -2
  81. scipion_em_xmipp-25.6.1/xmipp3/protocols/protocol_movie_split_frames.py +265 -0
  82. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_particle_pick_automatic.py +1 -2
  83. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_particle_pick_consensus.py +7 -0
  84. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_particle_pick_pairs.py +1 -1
  85. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_phantom_create.py +1 -1
  86. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_pick_noise.py +1 -1
  87. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_postProcessing_deepPostProcessing.py +5 -5
  88. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_preprocess/protocol_crop_resize.py +3 -2
  89. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_preprocess/protocol_filter.py +2 -2
  90. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_preprocess/protocol_image_operate.py +2 -2
  91. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_preprocess/protocol_mask.py +1 -1
  92. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_preprocess/protocol_preprocess.py +6 -4
  93. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_preprocess/protocol_process.py +20 -7
  94. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_preprocess_micrographs.py +3 -2
  95. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_projmatch/projmatch_steps.py +1 -1
  96. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_projmatch/protocol_projmatch.py +1 -1
  97. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_random_conical_tilt.py +1 -2
  98. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_ransac.py +41 -37
  99. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_reconstruct_fourier.py +5 -1
  100. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_reconstruct_highres.py +13 -7
  101. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_reconstruct_significant.py +14 -21
  102. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_resolution3d.py +1 -1
  103. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_resolution_deepres.py +1 -1
  104. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_resolution_directional.py +1 -1
  105. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_resolution_fso.py +1 -1
  106. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_resolution_monogenic_signal.py +19 -4
  107. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_rotate_volume.py +1 -1
  108. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_screen_deepConsensus.py +25 -5
  109. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_shift_volume.py +1 -1
  110. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_simulate_ctf.py +5 -3
  111. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_structure_map.py +9 -1
  112. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_subtract_projection.py +25 -10
  113. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_tilt_analysis.py +3 -3
  114. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_validate_fscq.py +2 -2
  115. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_validate_nontilt.py +1 -1
  116. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_volume_adjust_sub.py +8 -4
  117. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_volume_deform_zernike3d.py +1 -1
  118. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_volume_local_sharpening.py +1 -1
  119. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_volume_strain.py +1 -1
  120. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols.conf +1 -3
  121. scipion_em_xmipp-25.6.1/xmipp3/tests/test_protocol_likelihood.py +240 -0
  122. scipion_em_xmipp-25.6.1/xmipp3/tests/test_protocol_split_frames.py +136 -0
  123. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocol_validate_fscq.py +2 -2
  124. scipion_em_xmipp-25.6.1/xmipp3/tests/test_protocols_highres.py +144 -0
  125. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocols_xmipp_2d.py +1 -48
  126. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocols_xmipp_mics.py +20 -16
  127. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocols_xmipp_movies.py +4 -4
  128. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/version.py +5 -5
  129. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/__init__.py +1 -1
  130. scipion_em_xmipp-25.6.1/xmipp3/viewers/viewer_LL_matrix.py +273 -0
  131. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_deep_consensus.py +1 -7
  132. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_dose_analysis.py +18 -2
  133. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_resolution_fso.py +18 -6
  134. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_structure_map.py +53 -11
  135. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/wizards.py +3 -2
  136. scipion_em_xmipp-25.6.1/xmipp3/xmipp_logo_devel.png +0 -0
  137. scipion-em-xmipp-24.12.2/PKG-INFO +0 -26
  138. scipion-em-xmipp-24.12.2/scipion_em_xmipp.egg-info/PKG-INFO +0 -26
  139. scipion-em-xmipp-24.12.2/setup.py +0 -173
  140. scipion-em-xmipp-24.12.2/xmipp3/protocols/protocol_movie_split_frames.py +0 -188
  141. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/LICENSE +0 -0
  142. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/MANIFEST.in +0 -0
  143. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/README.md +0 -0
  144. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/requirements.txt +0 -0
  145. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/scipion_em_xmipp.egg-info/dependency_links.txt +0 -0
  146. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/scipion_em_xmipp.egg-info/requires.txt +0 -0
  147. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/scipion_em_xmipp.egg-info/top_level.txt +0 -0
  148. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/setup.cfg +0 -0
  149. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/bibtex.py +0 -0
  150. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/checkProtocolsConf.py +0 -0
  151. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/constants.py +0 -0
  152. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/convert/__init__.py +0 -0
  153. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/convert/dataimport.py +0 -0
  154. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/convert/io_coordinates.py +0 -0
  155. {scipion-em-xmipp-24.12.2/xmipp3 → scipion_em_xmipp-25.6.1/xmipp3/legacy}/protocols/protocol_enrich.py +0 -0
  156. {scipion-em-xmipp-24.12.2/xmipp3 → scipion_em_xmipp-25.6.1/xmipp3/legacy}/protocols/protocol_screen_deeplearning.py +0 -0
  157. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/programs.py +0 -0
  158. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_align_volume_and_particles.py +0 -0
  159. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_analyze_local_ctf.py +0 -0
  160. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_angular_graph_consistency.py +0 -0
  161. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_apply_transformation_matrix.py +0 -0
  162. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_break_symmetry.py +0 -0
  163. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_classes_2d_mapping.py +0 -0
  164. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_compare_angles.py +0 -0
  165. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_compare_reprojections.py +0 -0
  166. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_consensus_classes.py +0 -0
  167. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_core_analysis.py +0 -0
  168. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_ctf_defocus_group.py +0 -0
  169. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_deep_center.py +0 -0
  170. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_denoise_particles.py +0 -0
  171. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_eliminate_empty_images.py +0 -0
  172. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_generate_reprojections.py +0 -0
  173. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_kerdensom.py +0 -0
  174. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_local_ctf.py +0 -0
  175. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_mics_defocus_balancer.py +0 -0
  176. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_ml2d.py +0 -0
  177. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_movie_gain.py +0 -0
  178. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_multiple_fscs.py +0 -0
  179. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_multireference_alignability.py +0 -0
  180. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_normalize_strain.py +0 -0
  181. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_particle_pick.py +0 -0
  182. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_particle_pick_remove_duplicates.py +0 -0
  183. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_preprocess/__init__.py +0 -0
  184. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_preprocess/geometrical_mask.py +0 -0
  185. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_preprocess/protocol_add_noise.py +0 -0
  186. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_preprocess/protocol_create_mask2d.py +0 -0
  187. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_preprocess/protocol_create_mask3d.py +0 -0
  188. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_preprocess/protocol_movie_resize.py +0 -0
  189. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_projmatch/__init__.py +0 -0
  190. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_projmatch/projmatch_form.py +0 -0
  191. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_projmatch/projmatch_initialize.py +0 -0
  192. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_reconstruct_swarm.py +0 -0
  193. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_resolution_bfactor.py +0 -0
  194. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_rotational_symmetry.py +0 -0
  195. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_screen_particles.py +0 -0
  196. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_shift_particles.py +0 -0
  197. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_structure_map_zernike3d.py +0 -0
  198. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_trigger_data.py +0 -0
  199. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_validate_overfitting.py +0 -0
  200. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_volume_consensus.py +0 -0
  201. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_volume_local_adjust.py +0 -0
  202. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_write_testC.py +0 -0
  203. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/protocols/protocol_write_testP.py +0 -0
  204. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/__init__.py +0 -0
  205. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_convert_xmipp.py +0 -0
  206. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocol_angular_graph_consistency.py +0 -0
  207. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocol_apply_transformation_matrix.py +0 -0
  208. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocol_compare_angles.py +0 -0
  209. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocol_consensus_classes3D.py +0 -0
  210. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocol_ctf_consensus.py +0 -0
  211. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocol_extract_asymmetric_unit.py +0 -0
  212. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocol_monodir.py +0 -0
  213. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocol_multiple_fsc.py +0 -0
  214. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocol_multireference_alignability.py +0 -0
  215. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocol_reconstruct_fourier.py +0 -0
  216. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocol_screen_deepConsensus.py +0 -0
  217. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocol_simulate_ctf.py +0 -0
  218. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocol_validate_overfitting.py +0 -0
  219. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocols_add_noise.py +0 -0
  220. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocols_continuousflex.py +0 -0
  221. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocols_deepVolPostprocessing.py +0 -0
  222. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocols_deepcenter_predict.py +0 -0
  223. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocols_deepres.py +0 -0
  224. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocols_fso.py +0 -0
  225. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocols_local_defocus.py +0 -0
  226. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocols_localdeblur.py +0 -0
  227. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocols_monores.py +0 -0
  228. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocols_realignment_classes.py +0 -0
  229. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocols_xmipp_3d.py +0 -0
  230. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocols_xmipp_movie_resize.py +0 -0
  231. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/tests/test_protocols_zernike3d.py +0 -0
  232. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/utils.py +0 -0
  233. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/plotter.py +0 -0
  234. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer.py +0 -0
  235. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_analyze_local_ctf.py +0 -0
  236. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_apply_tilt_to_ctf.py +0 -0
  237. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_cl2d.py +0 -0
  238. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_cl2d_clustering.py +0 -0
  239. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_consensus_classes.py +0 -0
  240. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_ctf_consensus.py +0 -0
  241. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_deepEMHancer.py +0 -0
  242. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_deep_micrograph_cleaner.py +0 -0
  243. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_eliminate_empty_images.py +0 -0
  244. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_extract_asymmetric_unit.py +0 -0
  245. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_local_sharpening.py +0 -0
  246. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_ml2d.py +0 -0
  247. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_movie_alignment.py +0 -0
  248. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_normalize_strain.py +0 -0
  249. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_pdb_deform_zernike3d.py +0 -0
  250. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_projmatch.py +0 -0
  251. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_ransac.py +0 -0
  252. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_reconstruct_highres.py +0 -0
  253. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_resolution3d.py +0 -0
  254. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_resolution_bfactor.py +0 -0
  255. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_resolution_deepres.py +0 -0
  256. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_resolution_directional.py +0 -0
  257. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_resolution_monogenic_signal.py +0 -0
  258. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_subtract_projection.py +0 -0
  259. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_swarm.py +0 -0
  260. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_validate_fscq.py +0 -0
  261. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_validate_nontilt.py +0 -0
  262. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_validate_overfitting.py +0 -0
  263. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_volume_consensus.py +0 -0
  264. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_volume_deform_zernike3d.py +0 -0
  265. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_volume_strain.py +0 -0
  266. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/viewers/viewer_volume_subtraction.py +0 -0
  267. {scipion-em-xmipp-24.12.2 → scipion_em_xmipp-25.6.1}/xmipp3/xmipp_logo.png +0 -0
@@ -1,7 +1,50 @@
1
- ## Release 3.24.12.2 - Poseidon
2
- - More scipion-em-xmipp
3
- - Updating version for pypi requirements
4
- - Bug cloning tag
1
+ ## Release 3.25.06.1 - Rhea
2
+ - Disabling the default installation of dependencies to prevent breaking the scipion environment
3
+
4
+ ## Release 3.25.06.0 - Rhea
5
+ - New protocols
6
+ - compute_likelihood: This protocol computes the likelihood of a set of particles with assigned angles when compared to a set of maps or atomic modelS
7
+
8
+ - Protocols updated
9
+ - Max shift: tolerate movies without micrographs associated
10
+ - substract_projection: update command to boost and subtract to generate only one output stack
11
+ - Movie alignment consensus protocol: enables irregular input sets. Changes in functionality; comparisons between ons between shifts trajectories, and a additional change related to the minimum consensus or threshold for shifts correlation.
12
+ - volume_adjust_sub: better label for volume 1 vs 2
13
+ - convert_pdb: aDD binThreads
14
+ - align_volume: add possible
15
+ - particle_pick_consensus: Fixed ID mismatch when combining coordinate sets; now supports asymmetrical sets without indexing errors.
16
+ - movie_split_frames: now allows testing sum_frames, includes a summary, improved layout, and updated test.
17
+ - deep_Consensus: GPU handling
18
+ - Deep_hand: handling env to avoid system CUDA settings, erasing cuda things from env['LD_LIBRARY_PATH']
19
+ - Extract particles protocol: force output boxsize
20
+ - reconstruct_fourier: correctEnvelope False by default
21
+ - reconstruct_highres: test updated, correctEnvelope False by default
22
+ - Structure map: Adding a dendrogram and removing some intermediate files
23
+
24
+
25
+ - Protocols fixed
26
+ - simulate ctf: fix pre-CTF noise np.numpy, init generator for pre and post ctf noise
27
+ - validate FSCQ: test fixed
28
+ - resolution_monogenic_signal: fixing header in MonoRes
29
+ - protocol_process: CropResize halves fix
30
+ - Extract particles test fixed
31
+ - FSO viewer: the fso was failing when the fso did not cross some thresholds
32
+ - reconstruct_significant: fix gpu usage
33
+ - ransac: fix gpu usage
34
+
35
+ - Protocols deprecated (For more details visit [this](https://github.com/I2PC/xmipp/wiki/Deprecating-programs-and-protocols](https://i2pc.github.io/docs/Utils/Deprecated-programs/index.html)))
36
+ - XmippProtScreenDeepLearning
37
+
38
+ - More scipion-em-xmipp
39
+ - Most of the Xmipp dependencies installed on Scipion env
40
+ - Updating version for pypi requirements
41
+ - Bug cloning tag
42
+ - Use toml for installation
43
+ - Bug fixed related to the WriteSetOfParticles and the Missing ExtraLabels (The Oier and Fede Adventures)
44
+ - Handling nvidia drivers error message
45
+ - improving deps installation
46
+ - Improved the help message of more than 60 protocols
47
+
5
48
  ## Release 3.24.12 - Poseidon
6
49
  - New protocols
7
50
  - apply_tilt_to_ctf: Apply a local deviation to the CTF based on the micrograph's tilt
@@ -0,0 +1,38 @@
1
+ Metadata-Version: 2.1
2
+ Name: scipion-em-xmipp
3
+ Version: 25.6.1
4
+ Summary: Plugin to use Xmipp programs within the Scipion framework.
5
+ Author-email: Oier Lauzirika Zarrabeitia <oierlauzi@bizkaia.eu>, Alberto Garcia Mena <alberto.garcia@cnb.csic.es>, Carlos Oscar Sanchez Sorzano <coss@cnb.csic.es>
6
+ License: GNU General Public License v3 (GPLv3)
7
+ Project-URL: Homepage, https://github.com/I2PC/scipion-em-xmipp
8
+ Project-URL: Issues, https://github.com/I2PC/scipion-em-xmipp/issues
9
+ Keywords: scipion electron-microscopy cryo-em structural-biology image-processing scipion-3.0
10
+ Requires-Python: >=3.8
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ Requires-Dist: scipion-pyworkflow>=3.0.31
14
+ Requires-Dist: scikit-learn>=1.2
15
+ Requires-Dist: scikit-image
16
+ Requires-Dist: scipion-em
17
+ Requires-Dist: scipion-app
18
+ Requires-Dist: scipy<=1.10.0
19
+ Requires-Dist: joblib
20
+ Requires-Dist: peppercorn
21
+ Requires-Dist: plotter
22
+ Requires-Dist: PyWavelets
23
+
24
+ [![Build](https://github.com/I2PC/scipion-em-xmipp/actions/workflows/build.yml/badge.svg)](https://github.com/I2PC/scipion-em-xmipp/actions/workflows/build.yml)
25
+
26
+ # scipion-em-xmipp
27
+
28
+ Plugin to use Xmipp programs within the Scipion framework.
29
+
30
+ You can install it either, using the Scipion software following
31
+ the [Scipion's installation guide](https://scipion-em.github.io/docs/release-3.0.0/docs/scipion-modes/how-to-install.html)
32
+ , (remember to install the scipion-em-xmipp plugin or remove the -noXmipp flag in the Scipion installation)**strongly recommended for non-developers** or cloning it on your own and
33
+ [linking it to Scipion](https://github.com/I2PC/xmipp#linking-standalone-version-to-scipion).
34
+ The latter is only for those who intended to develop the Xmipp plugin.
35
+
36
+ For **developers**, we strongly recommend to follow the guide on
37
+ [how to install xmipp-bundle](https://github.com/i2pc/xmipp#xmipp-as-a-standalone-bundle-for-developers)
38
+ in order to get a complet Xmipp's development ecosystem.
@@ -0,0 +1,33 @@
1
+ [build-system]
2
+ requires = ["setuptools"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "scipion-em-xmipp"
7
+ dynamic = ["version", "dependencies"]
8
+
9
+ authors = [
10
+ {name = "Oier Lauzirika Zarrabeitia", email = "oierlauzi@bizkaia.eu"},
11
+ {name = "Alberto Garcia Mena", email = "alberto.garcia@cnb.csic.es"},
12
+ {name = "Carlos Oscar Sanchez Sorzano", email = "coss@cnb.csic.es"},
13
+ ]
14
+
15
+ description = "Plugin to use Xmipp programs within the Scipion framework."
16
+ readme = "README.md"
17
+ requires-python = ">=3.8"
18
+ keywords = ["scipion electron-microscopy cryo-em structural-biology image-processing scipion-3.0"]
19
+ license = {text = "GNU General Public License v3 (GPLv3)"}
20
+
21
+ [project.urls]
22
+ Homepage = "https://github.com/I2PC/scipion-em-xmipp"
23
+ Issues = "https://github.com/I2PC/scipion-em-xmipp/issues"
24
+
25
+ [tool.setuptools.dynamic]
26
+ version = {attr = "xmipp3.version.__version__"}
27
+ dependencies = {file = ["requirements.txt"]}
28
+
29
+ [project.entry-points."pyworkflow.plugin"]
30
+ xmipp3 = "xmipp3"
31
+
32
+ [tool.setuptools.package-data]
33
+ xmipp3 = ["protocols.conf", "xmipp_logo_devel.png"]
@@ -0,0 +1,38 @@
1
+ Metadata-Version: 2.1
2
+ Name: scipion-em-xmipp
3
+ Version: 25.6.1
4
+ Summary: Plugin to use Xmipp programs within the Scipion framework.
5
+ Author-email: Oier Lauzirika Zarrabeitia <oierlauzi@bizkaia.eu>, Alberto Garcia Mena <alberto.garcia@cnb.csic.es>, Carlos Oscar Sanchez Sorzano <coss@cnb.csic.es>
6
+ License: GNU General Public License v3 (GPLv3)
7
+ Project-URL: Homepage, https://github.com/I2PC/scipion-em-xmipp
8
+ Project-URL: Issues, https://github.com/I2PC/scipion-em-xmipp/issues
9
+ Keywords: scipion electron-microscopy cryo-em structural-biology image-processing scipion-3.0
10
+ Requires-Python: >=3.8
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ Requires-Dist: scipion-pyworkflow>=3.0.31
14
+ Requires-Dist: scikit-learn>=1.2
15
+ Requires-Dist: scikit-image
16
+ Requires-Dist: scipion-em
17
+ Requires-Dist: scipion-app
18
+ Requires-Dist: scipy<=1.10.0
19
+ Requires-Dist: joblib
20
+ Requires-Dist: peppercorn
21
+ Requires-Dist: plotter
22
+ Requires-Dist: PyWavelets
23
+
24
+ [![Build](https://github.com/I2PC/scipion-em-xmipp/actions/workflows/build.yml/badge.svg)](https://github.com/I2PC/scipion-em-xmipp/actions/workflows/build.yml)
25
+
26
+ # scipion-em-xmipp
27
+
28
+ Plugin to use Xmipp programs within the Scipion framework.
29
+
30
+ You can install it either, using the Scipion software following
31
+ the [Scipion's installation guide](https://scipion-em.github.io/docs/release-3.0.0/docs/scipion-modes/how-to-install.html)
32
+ , (remember to install the scipion-em-xmipp plugin or remove the -noXmipp flag in the Scipion installation)**strongly recommended for non-developers** or cloning it on your own and
33
+ [linking it to Scipion](https://github.com/I2PC/xmipp#linking-standalone-version-to-scipion).
34
+ The latter is only for those who intended to develop the Xmipp plugin.
35
+
36
+ For **developers**, we strongly recommend to follow the guide on
37
+ [how to install xmipp-bundle](https://github.com/i2pc/xmipp#xmipp-as-a-standalone-bundle-for-developers)
38
+ in order to get a complet Xmipp's development ecosystem.
@@ -2,8 +2,8 @@ CHANGELOG.md
2
2
  LICENSE
3
3
  MANIFEST.in
4
4
  README.md
5
+ pyproject.toml
5
6
  requirements.txt
6
- setup.py
7
7
  scipion_em_xmipp.egg-info/PKG-INFO
8
8
  scipion_em_xmipp.egg-info/SOURCES.txt
9
9
  scipion_em_xmipp.egg-info/dependency_links.txt
@@ -21,10 +21,53 @@ xmipp3/utils.py
21
21
  xmipp3/version.py
22
22
  xmipp3/wizards.py
23
23
  xmipp3/xmipp_logo.png
24
+ xmipp3/xmipp_logo_devel.png
24
25
  xmipp3/convert/__init__.py
25
26
  xmipp3/convert/convert.py
26
27
  xmipp3/convert/dataimport.py
27
28
  xmipp3/convert/io_coordinates.py
29
+ xmipp3/legacy/protocols/protocol_angular_resolution_alignment.py
30
+ xmipp3/legacy/protocols/protocol_apply_deformation_zernike3d.py
31
+ xmipp3/legacy/protocols/protocol_classification_gpuCorr.py
32
+ xmipp3/legacy/protocols/protocol_classification_gpuCorr_full.py
33
+ xmipp3/legacy/protocols/protocol_classification_gpuCorr_semi.py
34
+ xmipp3/legacy/protocols/protocol_classify_kmeans2d.py
35
+ xmipp3/legacy/protocols/protocol_deep_align.py
36
+ xmipp3/legacy/protocols/protocol_deep_denoising.py
37
+ xmipp3/legacy/protocols/protocol_enrich.py
38
+ xmipp3/legacy/protocols/protocol_kmeans_clustering.py
39
+ xmipp3/legacy/protocols/protocol_metaprotocol_create_output.py
40
+ xmipp3/legacy/protocols/protocol_metaprotocol_create_subset.py
41
+ xmipp3/legacy/protocols/protocol_metaprotocol_discrete_heterogeneity_scheduler.py
42
+ xmipp3/legacy/protocols/protocol_metaprotocol_golden_highres.py
43
+ xmipp3/legacy/protocols/protocol_mltomo.py
44
+ xmipp3/legacy/protocols/protocol_movie_average.py
45
+ xmipp3/legacy/protocols/protocol_movie_opticalflow.py
46
+ xmipp3/legacy/protocols/protocol_particle_boxsize.py
47
+ xmipp3/legacy/protocols/protocol_reconstruct_heterogeneous.py
48
+ xmipp3/legacy/protocols/protocol_rotational_spectra.py
49
+ xmipp3/legacy/protocols/protocol_screen_deeplearning.py
50
+ xmipp3/legacy/protocols/protocol_solid_angles.py
51
+ xmipp3/legacy/protocols/protocol_split_volume.py
52
+ xmipp3/legacy/protocols/protocol_split_volume_hierarchical_cluster.py
53
+ xmipp3/legacy/protocols/protocol_subtract_projection.py
54
+ xmipp3/legacy/tests/test_protocol_deep_denoising.py
55
+ xmipp3/legacy/tests/test_protocols_angular_resolution_alignment.py
56
+ xmipp3/legacy/tests/test_protocols_gpuCorr_classifier.py
57
+ xmipp3/legacy/tests/test_protocols_gpuCorr_fullStreaming.py
58
+ xmipp3/legacy/tests/test_protocols_gpuCorr_semiStreaming.py
59
+ xmipp3/legacy/tests/test_protocols_metaprotocol_golden_highres.py
60
+ xmipp3/legacy/tests/test_protocols_metaprotocol_heterogeneity.py
61
+ xmipp3/legacy/tests/test_protocols_mixed_movies.py
62
+ xmipp3/legacy/tests/test_protocols_solid_angles.py
63
+ xmipp3/legacy/tests/test_protocols_subtract_projection.py
64
+ xmipp3/legacy/tests/test_protocols_xmipp_movies.py
65
+ xmipp3/legacy/viewers/viewer_angular_resolution_alignment.py
66
+ xmipp3/legacy/viewers/viewer_deep_align.py
67
+ xmipp3/legacy/viewers/viewer_metaprotocol_golden_highres.py
68
+ xmipp3/legacy/viewers/viewer_mltomo.py
69
+ xmipp3/legacy/viewers/viewer_solid_angles.py
70
+ xmipp3/legacy/viewers/viewer_split_volume.py
28
71
  xmipp3/protocols/__init__.py
29
72
  xmipp3/protocols/protocol_align_volume.py
30
73
  xmipp3/protocols/protocol_align_volume_and_particles.py
@@ -45,6 +88,7 @@ xmipp3/protocols/protocol_classify_pca.py
45
88
  xmipp3/protocols/protocol_classify_pca_streaming.py
46
89
  xmipp3/protocols/protocol_compare_angles.py
47
90
  xmipp3/protocols/protocol_compare_reprojections.py
91
+ xmipp3/protocols/protocol_compute_likelihood.py
48
92
  xmipp3/protocols/protocol_consensus_classes.py
49
93
  xmipp3/protocols/protocol_consensus_local_ctf.py
50
94
  xmipp3/protocols/protocol_convert_pdb.py
@@ -60,7 +104,6 @@ xmipp3/protocols/protocol_deep_hand.py
60
104
  xmipp3/protocols/protocol_deep_micrograph_screen.py
61
105
  xmipp3/protocols/protocol_denoise_particles.py
62
106
  xmipp3/protocols/protocol_eliminate_empty_images.py
63
- xmipp3/protocols/protocol_enrich.py
64
107
  xmipp3/protocols/protocol_extract_asymmetric_unit.py
65
108
  xmipp3/protocols/protocol_extract_particles.py
66
109
  xmipp3/protocols/protocol_extract_particles_movies.py
@@ -104,7 +147,6 @@ xmipp3/protocols/protocol_resolution_monogenic_signal.py
104
147
  xmipp3/protocols/protocol_rotate_volume.py
105
148
  xmipp3/protocols/protocol_rotational_symmetry.py
106
149
  xmipp3/protocols/protocol_screen_deepConsensus.py
107
- xmipp3/protocols/protocol_screen_deeplearning.py
108
150
  xmipp3/protocols/protocol_screen_particles.py
109
151
  xmipp3/protocols/protocol_shift_particles.py
110
152
  xmipp3/protocols/protocol_shift_volume.py
@@ -150,12 +192,14 @@ xmipp3/tests/test_protocol_compare_angles.py
150
192
  xmipp3/tests/test_protocol_consensus_classes3D.py
151
193
  xmipp3/tests/test_protocol_ctf_consensus.py
152
194
  xmipp3/tests/test_protocol_extract_asymmetric_unit.py
195
+ xmipp3/tests/test_protocol_likelihood.py
153
196
  xmipp3/tests/test_protocol_monodir.py
154
197
  xmipp3/tests/test_protocol_multiple_fsc.py
155
198
  xmipp3/tests/test_protocol_multireference_alignability.py
156
199
  xmipp3/tests/test_protocol_reconstruct_fourier.py
157
200
  xmipp3/tests/test_protocol_screen_deepConsensus.py
158
201
  xmipp3/tests/test_protocol_simulate_ctf.py
202
+ xmipp3/tests/test_protocol_split_frames.py
159
203
  xmipp3/tests/test_protocol_validate_fscq.py
160
204
  xmipp3/tests/test_protocol_validate_overfitting.py
161
205
  xmipp3/tests/test_protocols_add_noise.py
@@ -178,6 +222,7 @@ xmipp3/tests/test_protocols_zernike3d.py
178
222
  xmipp3/viewers/__init__.py
179
223
  xmipp3/viewers/plotter.py
180
224
  xmipp3/viewers/viewer.py
225
+ xmipp3/viewers/viewer_LL_matrix.py
181
226
  xmipp3/viewers/viewer_analyze_local_ctf.py
182
227
  xmipp3/viewers/viewer_apply_tilt_to_ctf.py
183
228
  xmipp3/viewers/viewer_cl2d.py
@@ -1,3 +1,2 @@
1
1
  [pyworkflow.plugin]
2
2
  xmipp3 = xmipp3
3
-
@@ -27,13 +27,12 @@
27
27
  # **************************************************************************
28
28
 
29
29
  import json
30
+ import re
30
31
  from datetime import datetime
31
32
  import pwem
32
33
  from pyworkflow import Config
33
34
  import pyworkflow.utils as pwutils
34
- from scipion.install.funcs import CommandDef
35
- from scipion import __version__ as scipionAppVersion
36
- from packaging.version import Version
35
+ from scipion.install.funcs import CondaCommandDef
37
36
  from .base import *
38
37
  from .version import *
39
38
  from .constants import XMIPP_HOME, XMIPP_URL, XMIPP_DLTK_NAME, XMIPP_CUDA_BIN, XMIPP_CUDA_LIB, XMIPP_GIT_URL
@@ -152,21 +151,24 @@ class Plugin(pwem.Plugin):
152
151
 
153
152
  # When changing dependencies, increment _currentDepVersion
154
153
  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'
154
+ "'cmake>=3.18,<4'", #cmake-4 is not compatible with Relion compilation
155
+ "hdf5>=1.18",
156
+ "sqlite>=3",
157
+ "fftw>=3",
158
+ "make",
159
+ "zlib",
160
+ "openjdk",
161
+ "libtiff",
162
+ "libstdcxx-ng",
163
+ "libjpeg-turbo",
166
164
  ]
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))
165
+ if Config.isCondaInstallation():
166
+ condaEnvPath = os.environ['CONDA_PREFIX']
167
+ scipionEnv=os.path.basename(condaEnvPath) # TODO: use pyworkflow method when released: Config.getEnvName()
168
+
169
+ commands = CondaCommandDef(scipionEnv, cls.getCondaActivationCmd())
170
+ commands.condaInstall('-c conda-forge --yes ' + ' '.join(CONDA_DEPENDENCIES))
171
+ commands.touch("deps_installed.txt")
170
172
  env.addPackage(
171
173
  'xmippDep', version=_currentDepVersion,
172
174
  tar='void.tgz',
@@ -176,32 +178,41 @@ class Plugin(pwem.Plugin):
176
178
  )
177
179
 
178
180
  if develMode:
181
+ xmippSrc = 'xmippDev'
182
+ installCommands = [
183
+ (f'cd {pwem.Config.EM_ROOT} && rm -rf {xmippSrc} && '
184
+ f'git clone {XMIPP_GIT_URL} {xmippSrc} && '
185
+ f'cd {xmippSrc} && '
186
+ #f'git checkout {branchTest} && '
187
+ f'./xmipp ', COMPILE_TARGETS)
188
+ ]
189
+
179
190
  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
-
191
+ 'xmippDev',
192
+ tar='void.tgz',
193
+ commands=installCommands,
194
+ neededProgs=['git', 'gcc', 'g++', 'cmake', 'make'],
195
+ updateCuda=True,
196
+ default=False
197
+ )
198
+ else:
199
+ xmippSrc = f'xmippSrc-{version._binTagVersion}'
200
+ installCommands = [
201
+ (f'cd .. && rm -rf {xmippSrc} && '
202
+ f'git clone {XMIPP_GIT_URL} {xmippSrc} && '
203
+ f'cd {xmippSrc} && '
204
+ f'git checkout {version._binTagVersion} && '
205
+ f'./xmipp --production True ', COMPILE_TARGETS)
206
+ ]
207
+ env.addPackage(
208
+ 'xmippSrc', version=version._binTagVersion,
209
+ tar='void.tgz',
210
+ commands=installCommands,
211
+ neededProgs=['git', 'gcc', 'g++', 'cmake', 'make'],
212
+ updateCuda=True,
213
+ default=not develMode
214
+ )
215
+
205
216
  ## EXTRA PACKAGES ##
206
217
  installDeepLearningToolkit(cls, env)
207
218
 
@@ -216,45 +227,67 @@ class Plugin(pwem.Plugin):
216
227
  os.path.isfile(os.path.join(bundleDir, 'xmipp')))
217
228
 
218
229
  return bundleDir if isBundle else None
219
-
230
+
231
+ def getNvidiaDriverVersion(plugin):
232
+ """Attempt to retrieve the NVIDIA driver version using different methods.
233
+ Only returns if a valid version string is found.
234
+ """
235
+ commands = [
236
+ ["nvidia-smi", "--query-gpu=driver_version", "--format=csv,noheader"],
237
+ ["cat", "/sys/module/nvidia/version"]
238
+ ]
239
+
240
+ for cmd in commands:
241
+ try:
242
+ output = subprocess.Popen(
243
+ cmd,
244
+ env=plugin.getEnviron(),
245
+ stdout=subprocess.PIPE,
246
+ stderr=subprocess.PIPE
247
+ ).communicate()[0].decode('utf-8').strip()
248
+
249
+ # Check if the output matches a version pattern like 530.30 or 470
250
+ match = re.match(r'^(\d+)', output)
251
+ if match:
252
+ return match.group(1) # Return just the major version (e.g., "530")
253
+
254
+ except (ValueError, TypeError, FileNotFoundError, subprocess.SubprocessError):
255
+ continue # Try next method
256
+
257
+ return None # No valid version found
258
+
220
259
  def installDeepLearningToolkit(plugin, env):
221
260
 
222
261
  preMsgs = []
223
262
  cudaMsgs = []
224
263
  nvidiaDriverVer = None
225
264
  if os.environ.get('CUDA', 'True') == 'True':
226
- try:
227
- nvidiaDriverVer = subprocess.Popen(["nvidia-smi",
228
- "--query-gpu=driver_version",
229
- "--format=csv,noheader"],
230
- env=plugin.getEnviron(),
231
- stdout=subprocess.PIPE
232
- ).stdout.read().decode('utf-8').split(".")[0]
233
- if int(nvidiaDriverVer) < NVIDIA_DRIVERS_MINIMUM_VERSION:
234
- preMsgs.append("Incompatible driver %s" % nvidiaDriverVer)
235
- cudaMsgs.append(f"Your NVIDIA drivers are too old (<{NVIDIA_DRIVERS_MINIMUM_VERSION}). "
236
- "Tensorflow was installed without GPU support. "
237
- "Just CPU computations enabled (slow computations)."
238
- f"To enable CUDA (drivers>{NVIDIA_DRIVERS_MINIMUM_VERSION} needed), "
239
- "set CUDA=True in 'scipion.conf' file")
240
- nvidiaDriverVer = None
241
- except (ValueError, TypeError, FileNotFoundError):
242
- nvidiaDriverVer = None
243
- preMsgs.append("Not nvidia driver found. Type: "
244
- " nvidia-smi --query-gpu=driver_version --format=csv,noheader")
245
- preMsgs.append(
246
- "CUDA will NOT be USED. (not found or incompatible)")
247
- msg = ("Tensorflow installed without GPU. Just CPU computations "
248
- "enabled (slow computations).")
249
- cudaMsgs.append(msg)
250
- useGpu = False
265
+ nvidiaDriverVer = getNvidiaDriverVersion(plugin)
251
266
 
252
- if nvidiaDriverVer is not None:
253
- preMsgs.append("CUDA support found. Driver version: %s" % nvidiaDriverVer)
254
- msg = "Tensorflow will be installed with CUDA SUPPORT."
267
+ if nvidiaDriverVer is None:
268
+ preMsgs.append("Not nvidia driver found. Type: "
269
+ " nvidia-smi --query-gpu=driver_version --format=csv,noheader")
270
+ preMsgs.append(
271
+ "CUDA will NOT be USED. (not found or incompatible)")
272
+ msg = ("Tensorflow installed without GPU. Just CPU computations "
273
+ "enabled (slow computations).")
255
274
  cudaMsgs.append(msg)
256
- useGpu = True
275
+ useGpu = False
257
276
 
277
+ else:
278
+ if int(nvidiaDriverVer) < NVIDIA_DRIVERS_MINIMUM_VERSION:
279
+ preMsgs.append("Incompatible driver %s" % nvidiaDriverVer)
280
+ cudaMsgs.append(f"Your NVIDIA drivers are too old (<{NVIDIA_DRIVERS_MINIMUM_VERSION}). "
281
+ "Tensorflow was installed without GPU support. "
282
+ "Just CPU computations enabled (slow computations)."
283
+ f"To enable CUDA (drivers>{NVIDIA_DRIVERS_MINIMUM_VERSION} needed), "
284
+ "set CUDA=True in 'scipion.conf' file")
285
+ useGpu = False
286
+ else:
287
+ preMsgs.append("CUDA support found. Driver version: %s" % nvidiaDriverVer)
288
+ msg = "Tensorflow will be installed with CUDA SUPPORT."
289
+ cudaMsgs.append(msg)
290
+ useGpu = True
258
291
 
259
292
  # commands = [(command, target), (cmd, tgt), ...]
260
293
  cmdsInstall = list(CondaEnvManager.yieldInstallAllCmds(useGpu=useGpu))
@@ -155,9 +155,10 @@ class XmippProtocol:
155
155
  # Looking for the installation target for that conda environment.
156
156
  kerasError = False
157
157
  envName = CondaEnvManager.getCondaName(self, **kwargs)
158
+ targetName = CondaEnvManager.getCondaEnvTargetFilename(self, envName)
158
159
  if not os.path.isfile(os.path.join(pwem.Config.EM_ROOT,
159
160
  XMIPP_DLTK_NAME,
160
- envName+'.yml')):
161
+ targetName)):
161
162
  errors.append("*%s environment not found*. "
162
163
  "Required to run this protocol." % envName)
163
164
  kerasError = True
@@ -477,7 +477,7 @@ def imageToRow(img, imgRow, imgLabel, **kwargs):
477
477
  acquisitionToRow(img.getAcquisition(), imgRow)
478
478
 
479
479
  # Write all extra labels to the row
480
- objectToRow(img, imgRow, {}, extraLabels=IMAGE_EXTRA_LABELS)
480
+ objectToRow(img, imgRow, {}, extraLabels=IMAGE_EXTRA_LABELS + kwargs.get('extraLabels', []))
481
481
 
482
482
  # Provide a hook to be used if something is needed to be
483
483
  # done for special cases before converting image to row