Skip to content

Commit fc7d10b

Browse files
authored
Merge pull request #792 from I2PC/release-3.23.07
Release 3.23.07
2 parents 7613da4 + dd74c3c commit fc7d10b

File tree

99 files changed

+7471
-2107
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

99 files changed

+7471
-2107
lines changed

.github/workflows/build.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Workflow name
2+
name: Build Xmipp
3+
4+
# Specify when the Action should be triggered: when a pull request is opened against the 'devel' or 'master' branch
5+
on:
6+
pull_request:
7+
branches: [devel, master]
8+
9+
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
10+
jobs:
11+
# This workflow contains a single job called "build"
12+
build:
13+
# The type of runner that the job will run on
14+
runs-on: ubuntu-22.04
15+
16+
# Steps represent a sequence of tasks that will be executed as part of the job
17+
# Disabling shallow clone is recommended for improving relevancy of reporting
18+
steps:
19+
# Installing apt dependencies
20+
- name: Install dependencies
21+
run: |
22+
sudo apt-get update
23+
sudo apt-get install -y libfftw3-dev libopenmpi-dev libhdf5-dev libtiff5-dev python3-numpy python3-dev libsqlite3-dev default-jdk git cmake libopencv-dev openmpi-bin
24+
25+
# Setting up Python
26+
- uses: actions/setup-python@v4
27+
with:
28+
python-version: '3.9.15' # Version range or exact version of a Python version to use, using SemVer's version range syntax
29+
30+
# Installing Python dependencies
31+
- name: Install python dependencies
32+
run: |
33+
python -m pip install --upgrade pip
34+
pip install scons numpy
35+
36+
# Installing CUDA
37+
- uses: Jimver/cuda-toolkit@v0.2.10
38+
id: cuda-toolkit
39+
with:
40+
cuda: '11.7.0'
41+
linux-local-args: '[ "--toolkit" ]'
42+
43+
# Using CCache to speed C/C++ compilation
44+
- name: Install ccache
45+
uses: hendrikmuhs/ccache-action@v1.2
46+
47+
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
48+
- uses: actions/checkout@v3
49+
with:
50+
fetch-depth: 0
51+
52+
# Compiling Xmipp in the Pull Request branch
53+
- name: Compile Xmipp
54+
env:
55+
CIBuild: 1
56+
BUILD_TESTS: True
57+
run: ./xmipp noAsk

.github/workflows/main.yml

Lines changed: 0 additions & 115 deletions
This file was deleted.

.github/workflows/scanBuild.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Workflow name
2+
name: SonarCloud scan
3+
4+
# Specify when the Action should be triggered: when a pull request is opened against the 'devel' or 'master' branch
5+
on:
6+
pull_request:
7+
branches: [devel, master]
8+
jobs:
9+
build:
10+
runs-on: ubuntu-22.04
11+
steps:
12+
- name: Prepare Sonar scanner
13+
run: |
14+
wget -nv https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.6.0.2311-linux.zip
15+
unzip -q sonar-scanner-cli-4.6.0.2311-linux.zip
16+
echo "${PWD}/sonar-scanner-4.6.0.2311-linux/bin/" >> $GITHUB_PATH
17+
working-directory: ${{ env.BUILD_DIR }}
18+
- name: SonarCloud Scan
19+
run: |
20+
sonar-scanner -Dsonar.host.url=https://sonarcloud.io -Dsonar.organization=i2pc -Dsonar.login=$SONAR_TOKEN -Dsonar.projectKey=Xmipp
21+
env:
22+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
23+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
.pydevproject
3535
.classpath
3636
.idea
37+
.vscode
3738

3839
# Scons auxiliary files
3940
.sconsign.dblite
@@ -65,3 +66,8 @@ xmippEnv.json
6566
.devel_version
6667
/src/xmipp/Debug/
6768
/src/xmipp/applications/programs/version
69+
70+
# Output files from compilation
71+
compileLOG.txt
72+
reportInstallation.tar.gz
73+
xmipp_version.txt

CHANGELOG.md

Lines changed: 45 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,64 @@
1+
## Release 3.23.07 - voting
2+
### Xmipp Programs
3+
- New programs
4+
- image_peak_high_contrast(for detecting high contrast regions in tomographic reconstruction)
5+
- misaligment_detection (to detect misalignment in tomographic reconstructions from high-contrast regions)
6+
- deep_global_assignment
7+
- deep_center
8+
- Programs updated
9+
- xmipp_angular_distance: new features
10+
- tomo_extract_particles: new features
11+
- subtract_projection: parallelization with mpi
12+
- tomo_extract_subtomograms: allow downsampling of features
13+
- angular_resolution_alignment: Detect misalignment with resolution
14+
- Programs fixed
15+
- align_volume_and_particles: Fixed error
16+
- angular_project_library: Removed deterministic behaviour (mpi)
17+
- volumen_subtraction: fixed bug
18+
- Deprecated programs (For more details [visit](https://github.com/I2PC/xmipp/wiki/Deprecating-programs-and-protocols))
19+
- classify_kmeans_2D
20+
- rotational_spectra
21+
- particle_boxsize
22+
23+
### Installation and user guide
24+
- New clearer, more intuitive and informative installer. It also creates a file to facilitate user support.
25+
- Refactored the deep learning toolkit, more robust and new environment with updated tensorflow.
26+
- Updated requirement.
27+
28+
### More Xmipp
29+
- Added half precission suport to numpy
30+
- Added the ability to read and write CIF files
31+
- Modular design of winner filter
32+
- Decoupling XmippTomo from XmippSPA
33+
- Fix Zernike equation
34+
- Removed all occurrences of non base-class default destructors
35+
- Improved MultidimArray performance
36+
- Added support for half precision floating point numbers in MRCs
37+
- Assign tiff to gain files
38+
- adding half maps labels
39+
40+
41+
142
## Release 3.23.03 - Kratos
243
### Xmipp Programs
44+
45+
- New programs: tomo_confidence_map, tomo_extract_particlestacks, tomo_extract_subtomograms, tomo_tiltseries_dose_filter, psd_estimatator
346
- Deprecated programs (for more details visit the [wiki](https://github.com/I2PC/xmipp/wiki/Deprecating-programs)):
447
angular_distribution_show, apropos
548
ctf_correct_idr, ctf_create_ctfdat , ctf_show , idr_xray_tomo , image_common_lines , metadata_convert_to_spider , metadata_selfile_create , mlf_refine_3d, ml_refine_3d, ml_tomo , mrc_create_metadata , pdb_construct_dictionary, pdb_restore_with_dictionary , reconstruct_admn , reconstruct_art_pseudo , resolution_ibw , resolution_ssnr , score_micrograph , reconstruct_fourier_starpu , tomo_align_tilt_series, tomo_align_dual_tilt_series, tomo_align_refinement, tomo_align_refinement, tomo_extract_subvolume, tomo_project_main, tomo_remove_fluctuations , tomo_align_tilt_series,transform_range_adjust , validation_tilt_pairs , volume_pca , volume_validate_pca , work_test , 6f4d983 , evaulate_coordinates , extract_subset , image_separate_objects , volume_enhance_contrast , volume_reslice , xray_import , xray_project , xray_psf_create , xray_reconstruct_art , gpu_correlation, gpu_utils, classify_significant, deepAlign.
6-
- New programs: tomo_confidence_map, tomo_extract_particlestacks,
7-
, tomo_extract_subtomograms, tomo_tiltseries_dose_filter, psd_estimatator
49+
850
- volume_from_pdb: fixing input pdb file being overwritten when '-centerPDB' flag was set
951
- xmipp_phantom_movie: adding support for fixed step shift & gain and dark image generation
1052
- CTF simulation allows astigmatism
1153
- xmipp_metadata_utility: Now join operations with an empty set will return a new empty set (previously no output file was generated).
1254
- xmipp_matrix_dimred: Program help improved. Exception is now thrown when the number of output dimensions is larger than the input dimensions
1355
- xmipp_angular_distance: Added itemId column to the output
1456

15-
16-
### Protocols scipion-em-xmipp
17-
- New protocol status: beta, new, production and updated. Will appear in the left pannel of Scipion
18-
- Protocol subtract_projection: user experience improvements, no final mask by default, apply ciruclar mask in adjustment image to avoid edge artifacts, validate same sampling rate with tolerance in third decimal
19-
- Protocol convert_pdb: Allowed to save centered PDB used for conversion.
20-
- Protocol align_volume_and_particles: add alingment validation
21-
- Protocol FlexAlign: updating protocol to reflect changes in the executable, fixed test, removing unused protocol (Movie average)
22-
- Protocol align_volume_and_particles:Align volume and particles adapted to tomography and works in the absence of tomo plugin.
23-
- Protocol volume_consensus: validate same sampling rate with tolerance in third decimal
24-
- Protocols deprecated (for more details visit the [wiki](https://github.com/I2PC/xmipp/wiki/Deprecating-programs)): protocol_deep _align, reconstruct_heterogeneous, protocol_metaprotocol_create_output, protocol_metaprotocol_discrete_heterogeneity_scheduler
25-
2657
### Installation and user guide
2758
- Refactor and simplified Readme page.
2859
- Updating CUDA version compatibility
2960
- Updating gcc version availables
30-
- Fixd Matlab installation
61+
- Fixed Matlab installation
3162
- Added missing array include to fix compilation error with g++12
3263
- Alert and not block compilation if gcc - CUDA are not compatible
3364
- Avoid compilation warnings
@@ -59,23 +90,6 @@
5990
- xmipp_micrograph_automatic_picking: Fixing memory leak
6091
- subtract_projection: Fixed several bugs (improved results), added circular mask to avoid edge artifacts, added option to boost particles instead of subtract
6192

62-
63-
### Protocols scipion-em-xmipp
64-
- Protocol_cl2d_align: The input can now be a set of averages or a set of 2D classes
65-
- Protocol_local_ctf: Default value are now changed for maxDefocusChange
66-
- Protocol_apply_zernike3d: Now accepts either a Volume or SetOfVolumes and applies the coefficients in a loop in the deform step
67-
- Protocol_postProcessing_deepPostProcessing: Managed GPU memory to avoid errors
68-
- Protocol_resolution_deepres: Mandatory mask
69-
- Protocol center particles and Gl2d (all options): Fix streaming
70-
- Protocol_create_3d_mask: Allows volume Null=True
71-
- Protocol_reconstruct_fourier: Set pixel size
72-
- GL2D static: Bug fixing
73-
- Protocol_trigger_data: Bug fixing
74-
- Protocol_crop_resize: Set sampling rate of mrc files when cropping resizing volumes or particles
75-
- subtract_projection: New protocol for boosting particles. Add protocol to wizard XmippParticleMaskRadiusWizard as now the protocol uses it
76-
77-
- **New tests:** deep_hand, pick_noise, screen_deep_learning, resolution_B_factor
78-
- Fixed TestHighres test
7993

8094
### Installation and user guide
8195
- Various bug fixing
@@ -102,26 +116,6 @@
102116
- **volume_consensus**: Bug fixed
103117
- **ctf.h and angular_continuous_assign_2**: Changes for local defocus estimation #578
104118

105-
### Protocols scipion-em-xmipp
106-
- **rotate_volume**: New protocol
107-
- **subtract_projection**: New implementation based on adjustment by regression instead of POCS and improved performance
108-
- **local_ctf**: Add new sameDefocus option + formatting
109-
- **compare_reprojections & protocol_align_volume**: Fast Fourier by default
110-
- **crop_resize**: Allows input pointers
111-
- **resolution_deepres**: Resize output to original size
112-
- **denoise_particles**: Added setOfAverages as input option
113-
- **process**: Change output from stk (spider) to mrcs (mrc)
114-
- **trigger_data**: Bug fixed
115-
- **screen_deeplearning**: Added descriptive help"
116-
- **center_particles**: Added summary info
117-
- **align_volume_and_particles**: Summary error fixed
118-
- **cl2d**: Summary errors solved
119-
120-
- **New tests:** test_protocol_reconstruct_fourier, test_protocols_local_defocus, test_protocols_local_defocus, TestXmippAlignVolumeAndParticles, TestXmippRotateVolume
121-
- **Improved tests:** test_protocols_deepVolPostprocessing, test_protocols_xmipp_3d, Test ProjSubtracion
122-
- **Excluded tests:** test_protocols_zernike3d, test_protocols_metaprotocol_heterogeneity
123-
124-
125119
### Installation and user guide
126120
- Version info printed at the end of the installation
127121
- Removed empty folder with cleanBin command

README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
Xmipp is a suite of image processing programs, primarily aimed at single-particle 3D electron microscopy, designed and managed by the [Biocomputing Unit](http://biocomputingunit.es/) located in Madrid, Spain.
99

1010
The Xmipp project is divided into four repositories.
11-
This is the main repository, which contains the majority of the source code for the programs, additional scripts, and tests. Three remaining repositories, [XmippCore](https://github.com/I2PC/xmippCore/), [XmippViz](https://github.com/I2PC/xmippViz/), and [Scipion-em-xmipp](https://github.com/I2PC/scipion-em-xmipp), are automatically downloaded during the compilation/installation process.
11+
This is the main repository, which contains the majority of the source code for the programs, additional scripts, and tests. Three remaining repositories, [XmippCore](https://github.com/I2PC/xmippCore/), [XmippViz](https://github.com/I2PC/xmippViz/), and [Scipion-em-xmipp](https://github.com/I2PC/scipion-em-xmipp), are automatically downloaded during the installation process.
1212

1313

1414
## Getting started
@@ -26,8 +26,10 @@ At least 2 processors are required to run Xmipp. In some virtual machine tools o
2626

2727
### Software dependencies
2828
#### Compiler
29-
Xmipp requires C++17 compatible compiler. We recommend either GCC or CLANG, in the newest version possible. We have good experience with GCC-8 and bad experience with GCC-7, in any case a version > 6 is required. If use GCC-11 and experience issues, [please visit this.](https://github.com/I2PC/xmipp/issues/583). For more details about the compilation proces and installation of gcc, please visit [compiler](https://github.com/I2PC/xmipp/wiki/Compiler)
29+
Xmipp requires C++17 compatible compiler. We recommend GCC, we have good experience with GCC-8.3 in any case a version > 8 is required. If use GCC-10.3 and CUDA=11 and experience issues, [please change the compiler version](https://github.com/NVIDIA/nccl/issues/494). If use GCC-11 and experience issues, [please visit this.](https://github.com/I2PC/xmipp/issues/583). For more details about the compilation proces and installation of gcc, please visit [compiler](https://github.com/I2PC/xmipp/wiki/Compiler)
3030

31+
#### Cmake
32+
Xmipp requires Cmake 3.16 or above. To update it please [visit](https://github.com/I2PC/xmipp/wiki/Cmake-update-and-install)
3133
#### Cuda
3234
Xmipp supports Cuda 8 through 11.7. CUDA is optional but highly recommended. We recommend you to use the newest version available for your operating system, though Cuda 10.2 has the widest support among other Scipion plugins. Pay attemption to the [compiler - CUDA](https://gist.github.com/ax3l/9489132) compatibility.
3335
To install CUDA for your operating system, follow the [official install guide](https://developer.nvidia.com/cuda-toolkit-archive).
@@ -43,7 +45,7 @@ We sometimes see issues regarding the HDF5 dependency. Please visit the [HDF5 Tr
4345

4446
`sudo apt install -y libfftw3-dev libopenmpi-dev libhdf5-dev python3-numpy python3-dev libtiff5-dev libsqlite3-dev default-jdk git cmake`
4547

46-
`pip install scons numpy`
48+
`pip install scons` in the enviroment that xmipp will be compiled (scipion3 if you will run Xmipp within Scipion)
4749

4850
Also a compiler will be required (`sudo apt install gcc-8 g++-8`)
4951

@@ -76,7 +78,7 @@ Xmipp is installed in the build directory located in the same directory where th
7678
`source build/xmipp.bashrc`
7779

7880

79-
# That's all
81+
## That's all
8082

8183
If you miss some feature or find a bug, please [create an issue](https://github.com/I2PC/xmipp/issues/new) and we will have a look at it, you can also contact us by xmipp@cnb.csic.es. For more details, troubleshootings and information visit the [wikip page.](https://github.com/I2PC/xmipp/wiki)
8284

0 commit comments

Comments
 (0)