changeset 10:c56906ee67d3 draft

"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/cardinal commit c8d3adac445b4e08e2724e22d7201bfc38bbf40f"
author galaxyp
date Sun, 29 Aug 2021 07:10:15 +0000
parents 006fc980af63
children 003fdd1eafdc
files macros.xml spectra_plots.xml test-data/Heatmaps_LM8_file16.pdf test-data/Heatmaps_analyze75.pdf test-data/Heatmaps_imzml.pdf test-data/Heatmaps_processed.pdf test-data/Heatmaps_rdata.pdf test-data/Plot_analyze75.pdf test-data/Plot_analyze75_allpixels.pdf test-data/Plot_imzml.pdf test-data/Plot_picked.pdf test-data/Plot_processed.pdf test-data/Plot_rdata.pdf test-data/QC_imzml_shortreport.pdf test-data/centroids_proc.pdf test-data/pixels_test6.tabular test-data/preprocessing_results1.ibd test-data/preprocessing_results1.imzml test-data/preprocessing_results1.imzml.txt test-data/preprocessing_results1.pdf test-data/preprocessing_results2.ibd test-data/preprocessing_results2.imzml test-data/preprocessing_results2.imzml.txt test-data/preprocessing_results2.pdf test-data/preprocessing_results3.ibd test-data/preprocessing_results3.imzml test-data/preprocessing_results3.imzml.txt test-data/preprocessing_results3.pdf test-data/preprocessing_results4.ibd test-data/preprocessing_results4.imzml test-data/preprocessing_results4.imzml.txt test-data/preprocessing_results4.pdf test-data/test1.pdf test-data/test2.pdf test-data/test3.pdf test-data/test4.pdf test-data/test5.pdf test-data/test6.pdf test-data/test6.rdata test-data/test7.pdf test-data/test7.rdata
diffstat 41 files changed, 261 insertions(+), 181 deletions(-) [+]
line wrap: on
line diff
--- a/macros.xml	Tue Nov 03 22:35:49 2020 +0000
+++ b/macros.xml	Sun Aug 29 07:10:15 2021 +0000
@@ -1,5 +1,5 @@
 <macros>
-    <token name="@VERSION@">2.6.0</token>
+    <token name="@VERSION@">2.10.0</token>
 
     <xml name="requirements">
         <requirements>
--- a/spectra_plots.xml	Tue Nov 03 22:35:49 2020 +0000
+++ b/spectra_plots.xml	Sun Aug 29 07:10:15 2021 +0000
@@ -1,4 +1,4 @@
-<tool id="cardinal_spectra_plots" name="MSI plot spectra" version="@VERSION@.1">
+<tool id="cardinal_spectra_plots" name="MSI plot spectra" version="@VERSION@.0">
     <description>
         mass spectrometry imaging mass spectra plots
     </description>
@@ -6,7 +6,7 @@
         <import>macros.xml</import>
     </macros>
     <expand macro="requirements">
-        <requirement type="package" version="3.3.2">r-ggplot2</requirement>
+        <requirement type="package" version="3.3.5">r-ggplot2</requirement>
         <requirement type="package" version="2.3">r-gridextra</requirement>
         <requirement type="package" version="1.1.1">r-scales</requirement>
     </expand>
@@ -66,24 +66,28 @@
         ## read and extract x,y, optional annotation information
         spectra_tabular = read.delim("$pixel_conditional.pixel_file", header = $pixel_conditional.tabular_pixel_header, stringsAsFactors = FALSE)
 
-        #if $pixel_conditional.column_pixel_annotation:
+        #if str($pixel_conditional.single_or_overlaid.plot_type) == 'overlaid_plots':
 
-                spectra_input = spectra_tabular[,c($pixel_conditional.column_pixel_x, $pixel_conditional.column_pixel_y, $pixel_conditional.column_pixel_annotation)]
+                spectra_input = spectra_tabular[,c($pixel_conditional.column_pixel_x, $pixel_conditional.column_pixel_y, $pixel_conditional.single_or_overlaid.column_pixel_annotation)]
                 colnames(spectra_input) = c("x", "y", "annotation")
-
+                spectra_input\$annotation = as.character(spectra_input\$annotation)
+                
+                ## keeping only spectra with annotations
                 input_pixels = paste(spectra_input[,1], spectra_input[,2], sep="_")
                 dataset_pixels = paste(coord(msidata)\$x, coord(msidata)\$y, sep="_")
                 pixelsofinterest = dataset_pixels %in% input_pixels
                 msidata = msidata[,pixelsofinterest]
 
-                ## merge with coordinate information of msidata
                 msidata_coordinates = data.frame(coord(msidata)\$x, coord(msidata)\$y, c(1:ncol(msidata)))
                 colnames(msidata_coordinates) = c("x", "y", "pixel_index")
                 merged_annotation = merge(msidata_coordinates, spectra_input, by=c("x", "y"), all.x=TRUE)
                 merged_annotation[is.na(merged_annotation)] = "NA"
                 merged_annotation = merged_annotation[order(merged_annotation\$pixel_index),]
                 msidata\$annotation = factor(merged_annotation[,4], levels = unique(as.character(merged_annotation[,4]))) ## keep the right order
-
+                
+print(msidata\$annotation)
+print(merged_annotation)
+                 
                     ## overview plot over annotated samples
                     number_combined = length(levels(msidata\$annotation))
 
@@ -100,9 +104,23 @@
                         legend_size = 6
                     }
 
+                    ## colours selection:
+
+                    #if str($pixel_conditional.single_or_overlaid.colour_conditional.colour_type) == "manual_colour"
+                        #set $color_string = ','.join(['"%s"' % $color.annotation_color for $color in $pixel_conditional.single_or_overlaid.colour_conditional.colours])
+                        colourvector = c($color_string)
+
+                    #elif str($pixel_conditional.single_or_overlaid.colour_conditional.colour_type) == "colourpalette"
+
+                    	number_levels = (length(levels(msidata\$annotation)))
+                    
+        	    	colourvector = noquote($pixel_conditional.single_or_overlaid.colour_conditional.palettes)(number_levels)
+
+                    #end if
+                    
                     position_df = data.frame(coord(msidata)\$x, coord(msidata)\$y, as.factor(msidata\$annotation))
                     colnames(position_df) = c("x", "y", "sample_name")
-
+print(position_df)
                     combine_plot = ggplot(position_df, aes(x=x, y=y, fill=sample_name))+
                            geom_tile(height = 1, width=1)+
                            coord_fixed()+
@@ -111,15 +129,17 @@
                            theme(plot.title = element_text(hjust = 0.5))+
                            theme(text=element_text(family="ArialMT", face="bold", size=12))+
                            theme(legend.position="bottom",legend.direction="vertical")+
-                           theme(legend.key.size = unit(0.2, "line"), legend.text = element_text(size = 6))+
-                           guides(fill=guide_legend(ncol=4,byrow=TRUE))
+                           theme(legend.key.size = unit(0.2, "line"), legend.text = element_text(size = 10))+
+                           guides(fill=guide_legend(ncol=4,byrow=TRUE))+
+                           scale_discrete_manual(aesthetics = c("colour", "fill"), values = colourvector)
 
-                   coord_labels = aggregate(cbind(x,y)~sample_name, data=position_df, mean, na.rm=TRUE, na.action="na.pass")
-                   coord_labels\$file_number = 1:length(levels(position_df\$sample_name))
+                       coord_labels = aggregate(cbind(x,y)~sample_name, data=position_df, mean, na.rm=TRUE, na.action="na.pass")
+                       coord_labels\$file_number = 1:nrow(coord_labels)
 
                     for(file_count in 1:nrow(coord_labels))
-                    {combine_plot = combine_plot + annotate("text",x=coord_labels[file_count,"x"],
-                    y=coord_labels[file_count,"y"],label=toString(coord_labels[file_count,4]))}
+                    	{combine_plot = combine_plot + annotate("text",x=coord_labels[file_count,"x"],
+                    	y=coord_labels[file_count,"y"],label=toString(coord_labels[file_count,4]))
+                    }
 
                     print(combine_plot)
 
@@ -130,13 +150,12 @@
 
                 #if $fullmz:
                 ## plot single tabular mz, average per annotation
-                    print(plot(msidata, run="infile", pixel.groups=msidata\$annotation, key=key_legend, col=hue_pal()(length(levels(msidata\$annotation))),superpose=TRUE, strip=FALSE, grid=$grid_variable), main="Average spectrum per group")
+                    print(plot(msidata, run="infile", pixel.groups=msidata\$annotation, key=key_legend,superpose=TRUE, strip=FALSE, grid=$grid_variable, col = colourvector), main="Average spectrum per group")
                 #end if
 
                     pixeldf = data.frame(table(msidata\$annotation))
                     colnames(pixeldf) = c("sample name", "number of pixels")
 
-
             ##################### II) Sample: plot zoom-in mass spectrum ##########
 
                 #if str($mz_range.mz_range_options) == "manual_mz":
@@ -165,9 +184,9 @@
                     )   
 
                         ## plot single tabular mz, average per annotation, manual zoom
-                        print(plot(msidata[minmasspixel:maxmasspixel,], run="infile", strip=FALSE,
+                        print(plot(msidata[minmasspixel:maxmasspixel,], run="infile", strip=FALSE, col = colourvector,
                         xlim= c($token.xlimmin,$token.xlimmax),pixel.groups=msidata\$annotation, grid = $grid_variable,
-                        key=key_legend,col=hue_pal()(length(levels(msidata\$annotation))), superpose=TRUE, main="Average spectrum per group"))
+                        key=key_legend, superpose=TRUE, main="Average spectrum per group"))
                     #end for
 
                 #elif str($mz_range.mz_range_options) == "tabular_mz":
@@ -186,17 +205,18 @@
 
                             ## plot single tabular mz, average per annotation, tabular zoom
                             print(plot(msidata[minmasspixel:maxmasspixel,], run="infile", strip=FALSE, main="Average spectrum per group",
-                            xlim= c(xlimmin,xlimmax),pixel.groups=msidata\$annotation, grid = $grid_variable,
-                            key=key_legend,col=hue_pal()(length(levels(msidata\$annotation))), superpose=TRUE))
+                            xlim= c(xlimmin,xlimmax),pixel.groups=msidata\$annotation, grid = $grid_variable, col = colourvector,
+                            key=key_legend, superpose=TRUE))
+
                         }
                     }
 
                 #end if
+        #elif str($pixel_conditional.single_or_overlaid.plot_type) == 'separate_plots':
 
-        #elif str($pixel_conditional.column_pixel_annotation)== "None":
 
-                spectra_tabular = spectra_tabular[,c($pixel_conditional.column_pixel_x, $pixel_conditional.column_pixel_y)]
-                colnames(spectra_tabular) = c("x", "y")
+            spectra_tabular = spectra_tabular[,c($pixel_conditional.column_pixel_x, $pixel_conditional.column_pixel_y)]
+            colnames(spectra_tabular) = c("x", "y")
 
             dataset_pixels = data.frame(coord(msidata)\$x, coord(msidata)\$y)
             colnames(dataset_pixels) = c("x", "y")
@@ -261,7 +281,17 @@
                 }
 
                     ## print single tabular mz; manual zoom
-                    print(plot(msidata[minmasspixel:maxmasspixel,], grid = $grid_variable, coord=list(x=x_coord, y=y_coord), key=TRUE, xlim= c($token.xlimmin,$token.xlimmax), col="black"))
+
+                    tryCatch(
+                        {
+                        print(plot(msidata[minmasspixel:maxmasspixel,], grid = $grid_variable, coord=list(x=x_coord, y=y_coord), key=TRUE, xlim= c($token.xlimmin,$token.xlimmax), col="black"))
+                        }
+                        ,
+                        error=function(cond) {
+                        ## if there are no intensities > 0 in the chosen plotting window, write a warning
+                        text(0.5,0.5,labels = c(paste("No peaks in the spectrum with the coordinates x =", x_coord, ", y =", y_coord, sep=" ")))
+                        }
+                   )
 
                 #end for
 
@@ -456,17 +486,53 @@
         <expand macro="reading_msidata"/>
         <expand macro="pdf_filename"/>
         <conditional name="pixel_conditional">
-            <param name="pixel_type" type="select" label="Choose spectra (pixel) and/or add spectra annotations">
-                <option value="all_pixel" selected="True" >All spectra</option>
-                <option value="tabular_pixel">Single spectra</option>
+            <param name="pixel_type" type="select" label="Choose spectra">
+                <option value="all_pixel" selected="True" >Plot mean spectra based on all spectra</option>
+                <option value="tabular_pixel">Plot single spectra (separate or overlaid)</option>
             </param>
             <when value="tabular_pixel">
                 <param name="pixel_file" type="data" format="tabular" label="Load tabular file with pixel coordinates"
                 help="Two or three columns: x values, y values, optionally annotations"/>
                 <param name="column_pixel_x" data_ref="pixel_file" label="Column with x values" type="data_column"/>
                 <param name="column_pixel_y" data_ref="pixel_file" label="Column with y values" type="data_column"/>
-                <param name="column_pixel_annotation" data_ref="pixel_file" optional="True" label="Column with annotations" type="data_column"/>
                 <param name="tabular_pixel_header" type="boolean" label="Tabular files contain a header line" truevalue="TRUE" falsevalue="FALSE"/>
+                <conditional name="single_or_overlaid">
+		    <param name="plot_type" type="select" label="Separate plot per spectrum or overlaid plot with average spectra per annotation group">
+		        <option value="separate_plots" selected="True" >Separate spectra plots</option>
+		        <option value="overlaid_plots">Overlaid spectra plots</option>
+		    </param>
+		    <when value="separate_plots"/>
+		    <when value="overlaid_plots">
+		    <param name="column_pixel_annotation" data_ref="pixel_file" label="Select column with annotations" type="data_column"/>
+		    <conditional name="colour_conditional">
+		        <param name="colour_type" type="select" label="Choose a colour scheme">
+			    <option value="colourpalette" selected="True" >Colour palette</option>
+			    <option value="manual_colour">Manual selection</option>
+			</param>
+			<when value="manual_colour">
+			   <repeat name="colours" title="Colours for the plots" min="1" max="50">
+			   <param name="annotation_color" type="color" label="Colours" value="#ff00ff" help="Numbers of colours should be the same as number of components">
+			   <sanitizer>
+			       <valid initial="string.letters,string.digits">
+			       <add value="#" />
+			       </valid>
+			   </sanitizer>
+			   </param>
+			   </repeat>
+			</when>
+			<when value="colourpalette">
+			    <param name="palettes" type="select" display="radio" label="Select a colourpalette">
+			        <option value="hue_pal()" selected="True">hue</option>
+			        <option value="rainbow">rainbow</option>
+				<option value="heat.colors">heat colors</option>
+				<option value="terrain.colors">terrain colors</option>
+				<option value="topo.colors">topo colors</option>
+				<option value="cm.colors">cm colors</option>
+			    </param>
+			</when>
+		    </conditional>
+                    </when>
+                </conditional>
             </when>
             <when value="all_pixel">
             </when>
@@ -554,19 +620,33 @@
                 <param name="pixel_file" value="annotations.tabular"/>
                 <param name="column_pixel_x" value="1"/>
                 <param name="column_pixel_y" value="2"/>
-                <param name="column_pixel_annotation" value="4"/>
                 <param name="tabular_pixel_header" value="TRUE"/>
+
+                <conditional name="single_or_overlaid">
+                    <param name="plot_type" value="overlaid_plots"/>
+                    <param name="column_pixel_annotation" value="4"/>
+                    <param name="colour_type" value="manual_colour"/>
+                    <repeat name="colours">
+                        <param name="annotation_color" value="#0000FF"/>
+		    </repeat>
+		    <repeat name="colours">
+			<param name="annotation_color" value="#00C957"/>
+		    </repeat>
+		    <repeat name="colours">
+			<param name="annotation_color" value="#B0171F"/>
+		    </repeat>
+                </conditional>
             </conditional>
-                <param name="fullmz" value="FALSE"/>
-                <conditional name="mz_range">
-                    <param name="mz_range_options" value="manual_mz"/>
-                    <repeat name="zoomed_sample">
-                        <param name="xlimmin" value="1250"/>
-                        <param name="xlimmax" value="1270"/>
-                    </repeat>
-                </conditional>
-                <param name="grid_variable" value="FALSE"/>
-            <output name="plots" file="Plot_analyze75_allpixels.pdf" compare="sim_size"/>
+		<param name="fullmz" value="FALSE"/>
+		<conditional name="mz_range">
+		    <param name="mz_range_options" value="manual_mz"/>
+		    <repeat name="zoomed_sample">
+		        <param name="xlimmin" value="1250"/>
+		        <param name="xlimmax" value="1270"/>
+		    </repeat>
+		</conditional>
+		<param name="grid_variable" value="FALSE"/>
+	    <output name="plots" file="Plot_analyze75_allpixels.pdf" compare="sim_size"/>
         </test>
         <test>
             <param name="infile" value="3_files_combined.RData" ftype="rdata"/>
Binary file test-data/Heatmaps_LM8_file16.pdf has changed
Binary file test-data/Heatmaps_analyze75.pdf has changed
Binary file test-data/Heatmaps_imzml.pdf has changed
Binary file test-data/Heatmaps_processed.pdf has changed
Binary file test-data/Heatmaps_rdata.pdf has changed
Binary file test-data/Plot_analyze75.pdf has changed
Binary file test-data/Plot_analyze75_allpixels.pdf has changed
Binary file test-data/Plot_imzml.pdf has changed
Binary file test-data/Plot_picked.pdf has changed
Binary file test-data/Plot_processed.pdf has changed
Binary file test-data/Plot_rdata.pdf has changed
Binary file test-data/QC_imzml_shortreport.pdf has changed
Binary file test-data/centroids_proc.pdf has changed
--- a/test-data/pixels_test6.tabular	Tue Nov 03 22:35:49 2020 +0000
+++ b/test-data/pixels_test6.tabular	Sun Aug 29 07:10:15 2021 +0000
@@ -1,25 +1,25 @@
-pixel names	x	y	predicted condition
-xy_1_1	1	1	A
-xy_2_1	2	1	A
-xy_3_1	3	1	B
-xy_4_1	4	1	C
-xy_1_2	1	2	C
-xy_2_2	2	2	C
-xy_3_2	3	2	A
-xy_4_2	4	2	A
-xy_1_3	1	3	A
-xy_2_3	2	3	B
-xy_3_3	3	3	C
-xy_4_3	4	3	A
-xy_10_1	10	1	C
-xy_11_1	11	1	C
-xy_12_1	12	1	C
-xy_13_1	13	1	B
-xy_10_2	10	2	C
-xy_11_2	11	2	B
-xy_12_2	12	2	C
-xy_13_2	13	2	C
-xy_10_3	10	3	C
-xy_11_3	11	3	C
-xy_12_3	12	3	B
-xy_13_3	13	3	C
+pixel names	x	y	predicted condition	A	B	C
+xy_1_1	1	1	A	0.434439526064797	0.195646317191818	0.369914156743386
+xy_2_1	2	1	A	0.38219998209377	0.242372158141275	0.375427859764956
+xy_3_1	3	1	B	0.312531499299517	0.385612104162858	0.301856396537625
+xy_4_1	4	1	C	0.393153488582866	0.191107087820634	0.4157394235965
+xy_1_2	1	2	C	0.366986470447772	0.216121568441093	0.416891961111135
+xy_2_2	2	2	C	0.381682206547616	0.213188918797062	0.405128874655322
+xy_3_2	3	2	A	0.376695037169723	0.260689491088564	0.362615471741713
+xy_4_2	4	2	A	0.42305935188829	0.174038449100755	0.402902199010954
+xy_1_3	1	3	A	0.382420991383021	0.249364697048677	0.368214311568302
+xy_2_3	2	3	B	0.272145998315727	0.446525938567718	0.281328063116555
+xy_3_3	3	3	C	0.36296987427851	0.255631013944556	0.381399111776934
+xy_4_3	4	3	A	0.444812272103175	0.132274264153212	0.422913463743613
+xy_10_1	10	1	C	0.376216993893763	0.227584528606788	0.39619847749945
+xy_11_1	11	1	C	0.358430578177403	0.236120068794936	0.405449353027661
+xy_12_1	12	1	C	0.359751662628136	0.218620985552221	0.421627351819643
+xy_13_1	13	1	B	0.101486342705225	0.813997511218961	0.0845161460758142
+xy_10_2	10	2	C	0.354612526523361	0.272635192773437	0.372752280703202
+xy_11_2	11	2	B	0.291635599769993	0.444466545540823	0.263897854689184
+xy_12_2	12	2	C	0.36763798979782	0.203911653614431	0.428450356587749
+xy_13_2	13	2	C	0.344608135177236	0.304026642707691	0.351365222115073
+xy_10_3	10	3	C	0.37046458150651	0.205561286708086	0.423974131785404
+xy_11_3	11	3	C	0.358113833435286	0.262878459144526	0.379007707420187
+xy_12_3	12	3	B	0.180921926305915	0.66902588624642	0.150052187447665
+xy_13_3	13	3	C	0.378266307042675	0.20859472985319	0.413138963104135
Binary file test-data/preprocessing_results1.ibd has changed
--- a/test-data/preprocessing_results1.imzml	Tue Nov 03 22:35:49 2020 +0000
+++ b/test-data/preprocessing_results1.imzml	Sun Aug 29 07:10:15 2021 +0000
@@ -9,8 +9,8 @@
 		<fileContent>
 			<cvParam cvRef="MS" accession="MS:1000579" name="MS1 spectrum" value="" />
 			<cvParam cvRef="MS" accession="MS:1000127" name="centroid spectrum" value="" />
-			<cvParam cvRef="IMS" accession="IMS:1000080" name="universally unique identifier" value="07177fdd-3760-4df6-8fe2-53d28b280ae8" />
-			<cvParam cvRef="IMS" accession="IMS:1000091" name="ibd SHA-1" value="749fe32c8243da06001cf4643c5ce4f1ef5a98a8" />
+			<cvParam cvRef="IMS" accession="IMS:1000080" name="universally unique identifier" value="22bd3147-231d-4076-b6bd-67c1fa7c6ef3" />
+			<cvParam cvRef="IMS" accession="IMS:1000091" name="ibd SHA-1" value="831eba0fc850529d1351bcbb1baf779fe0773e1b" />
 			<cvParam cvRef="IMS" accession="IMS:1000030" name="continuous" value="" />
 		</fileContent>
 	</fileDescription>
@@ -86,15 +86,15 @@
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="mzArray" />
 						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="5" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="20" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="32" />
 						<binary />
 					</binaryDataArray>
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="intensityArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="36" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="5" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="20" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="48" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="32" />
 						<binary />
 					</binaryDataArray>
 				</binaryDataArrayList>
@@ -115,15 +115,15 @@
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="mzArray" />
 						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="5" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="20" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="32" />
 						<binary />
 					</binaryDataArray>
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="intensityArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="56" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="5" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="20" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="80" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="32" />
 						<binary />
 					</binaryDataArray>
 				</binaryDataArrayList>
@@ -144,15 +144,15 @@
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="mzArray" />
 						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="5" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="20" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="32" />
 						<binary />
 					</binaryDataArray>
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="intensityArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="76" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="5" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="20" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="112" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="32" />
 						<binary />
 					</binaryDataArray>
 				</binaryDataArrayList>
@@ -173,15 +173,15 @@
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="mzArray" />
 						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="5" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="20" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="32" />
 						<binary />
 					</binaryDataArray>
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="intensityArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="96" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="5" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="20" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="144" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="32" />
 						<binary />
 					</binaryDataArray>
 				</binaryDataArrayList>
@@ -202,15 +202,15 @@
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="mzArray" />
 						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="5" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="20" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="32" />
 						<binary />
 					</binaryDataArray>
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="intensityArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="116" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="5" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="20" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="176" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="32" />
 						<binary />
 					</binaryDataArray>
 				</binaryDataArrayList>
@@ -231,15 +231,15 @@
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="mzArray" />
 						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="5" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="20" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="32" />
 						<binary />
 					</binaryDataArray>
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="intensityArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="136" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="5" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="20" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="208" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="32" />
 						<binary />
 					</binaryDataArray>
 				</binaryDataArrayList>
@@ -260,15 +260,15 @@
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="mzArray" />
 						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="5" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="20" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="32" />
 						<binary />
 					</binaryDataArray>
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="intensityArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="156" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="5" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="20" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="240" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="32" />
 						<binary />
 					</binaryDataArray>
 				</binaryDataArrayList>
@@ -289,15 +289,15 @@
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="mzArray" />
 						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="5" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="20" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="32" />
 						<binary />
 					</binaryDataArray>
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="intensityArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="176" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="5" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="20" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="272" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="32" />
 						<binary />
 					</binaryDataArray>
 				</binaryDataArrayList>
@@ -318,15 +318,15 @@
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="mzArray" />
 						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="5" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="20" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="32" />
 						<binary />
 					</binaryDataArray>
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="intensityArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="196" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="5" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="20" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="304" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="32" />
 						<binary />
 					</binaryDataArray>
 				</binaryDataArrayList>
--- a/test-data/preprocessing_results1.imzml.txt	Tue Nov 03 22:35:49 2020 +0000
+++ b/test-data/preprocessing_results1.imzml.txt	Sun Aug 29 07:10:15 2021 +0000
@@ -1,4 +1,4 @@
 imzML file:
 total 24
--rw-rw-r-- 1 meli meli   216 Oct  5 19:57 ibd
--rw-rw-r-- 1 meli meli 18090 Oct  5 19:57 imzml
+-rw-rw-r-- 1 meli meli   336 Nov 29 01:14 ibd
+-rw-rw-r-- 1 meli meli 18092 Nov 29 01:14 imzml
Binary file test-data/preprocessing_results1.pdf has changed
Binary file test-data/preprocessing_results2.ibd has changed
--- a/test-data/preprocessing_results2.imzml	Tue Nov 03 22:35:49 2020 +0000
+++ b/test-data/preprocessing_results2.imzml	Sun Aug 29 07:10:15 2021 +0000
@@ -9,8 +9,8 @@
 		<fileContent>
 			<cvParam cvRef="MS" accession="MS:1000579" name="MS1 spectrum" value="" />
 			<cvParam cvRef="MS" accession="MS:1000127" name="centroid spectrum" value="" />
-			<cvParam cvRef="IMS" accession="IMS:1000080" name="universally unique identifier" value="503079b4-538a-4be6-b70d-e52542c66482" />
-			<cvParam cvRef="IMS" accession="IMS:1000091" name="ibd SHA-1" value="a597fe6a0184ef339105b3a932f58726a9af549b" />
+			<cvParam cvRef="IMS" accession="IMS:1000080" name="universally unique identifier" value="ebbd9c5a-19a7-4db5-91e0-858065743606" />
+			<cvParam cvRef="IMS" accession="IMS:1000091" name="ibd SHA-1" value="471a838ffd01331ad8e6d23a59004e05745bf39c" />
 			<cvParam cvRef="IMS" accession="IMS:1000030" name="continuous" value="" />
 		</fileContent>
 	</fileDescription>
--- a/test-data/preprocessing_results2.imzml.txt	Tue Nov 03 22:35:49 2020 +0000
+++ b/test-data/preprocessing_results2.imzml.txt	Sun Aug 29 07:10:15 2021 +0000
@@ -1,4 +1,4 @@
 imzML file:
 total 64
--rw-rw-r-- 1 meli meli 37404 Oct  5 19:57 ibd
--rw-rw-r-- 1 meli meli 22796 Oct  5 19:57 imzml
+-rw-rw-r-- 1 meli meli 37404 Nov 29 18:03 ibd
+-rw-rw-r-- 1 meli meli 22796 Nov 29 18:03 imzml
Binary file test-data/preprocessing_results2.pdf has changed
Binary file test-data/preprocessing_results3.ibd has changed
--- a/test-data/preprocessing_results3.imzml	Tue Nov 03 22:35:49 2020 +0000
+++ b/test-data/preprocessing_results3.imzml	Sun Aug 29 07:10:15 2021 +0000
@@ -9,9 +9,9 @@
 		<fileContent>
 			<cvParam cvRef="MS" accession="MS:1000579" name="MS1 spectrum" value="" />
 			<cvParam cvRef="MS" accession="MS:1000127" name="centroid spectrum" value="" />
-			<cvParam cvRef="IMS" accession="IMS:1000080" name="universally unique identifier" value="be549a7e-87af-4413-9b4c-27221f55ee9a" />
-			<cvParam cvRef="IMS" accession="IMS:1000091" name="ibd SHA-1" value="4ee7ca6fb3f60e1adbe196068f86bc3209bace58" />
-			<cvParam cvRef="IMS" accession="IMS:1000031" name="processed" value="" />
+			<cvParam cvRef="IMS" accession="IMS:1000080" name="universally unique identifier" value="476b127d-a8e1-4595-aae9-e9245db50d28" />
+			<cvParam cvRef="IMS" accession="IMS:1000091" name="ibd SHA-1" value="8a36ea2658fcfc8cfa9ae4d0dd73cd7ed2f5b96f" />
+			<cvParam cvRef="IMS" accession="IMS:1000030" name="continuous" value="" />
 		</fileContent>
 	</fileDescription>
 	<referenceableParamGroupList count="4">
@@ -86,15 +86,15 @@
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="mzArray" />
 						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="16" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="64" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="36" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="144" />
 						<binary />
 					</binaryDataArray>
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="intensityArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="80" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="16" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="64" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="160" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="36" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="144" />
 						<binary />
 					</binaryDataArray>
 				</binaryDataArrayList>
@@ -114,16 +114,16 @@
 				<binaryDataArrayList count="2">
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="mzArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="144" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="5" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="20" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="36" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="144" />
 						<binary />
 					</binaryDataArray>
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="intensityArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="164" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="5" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="20" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="304" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="36" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="144" />
 						<binary />
 					</binaryDataArray>
 				</binaryDataArrayList>
@@ -143,16 +143,16 @@
 				<binaryDataArrayList count="2">
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="mzArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="184" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="18" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="72" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="36" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="144" />
 						<binary />
 					</binaryDataArray>
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="intensityArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="256" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="18" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="72" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="448" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="36" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="144" />
 						<binary />
 					</binaryDataArray>
 				</binaryDataArrayList>
@@ -172,16 +172,16 @@
 				<binaryDataArrayList count="2">
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="mzArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="328" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="21" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="84" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="36" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="144" />
 						<binary />
 					</binaryDataArray>
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="intensityArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="412" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="21" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="84" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="592" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="36" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="144" />
 						<binary />
 					</binaryDataArray>
 				</binaryDataArrayList>
@@ -201,16 +201,16 @@
 				<binaryDataArrayList count="2">
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="mzArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="496" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="4" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="16" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="36" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="144" />
 						<binary />
 					</binaryDataArray>
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="intensityArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="512" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="4" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="16" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="736" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="36" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="144" />
 						<binary />
 					</binaryDataArray>
 				</binaryDataArrayList>
@@ -230,16 +230,16 @@
 				<binaryDataArrayList count="2">
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="mzArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="528" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="18" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="72" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="36" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="144" />
 						<binary />
 					</binaryDataArray>
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="intensityArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="600" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="18" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="72" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="880" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="36" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="144" />
 						<binary />
 					</binaryDataArray>
 				</binaryDataArrayList>
@@ -259,16 +259,16 @@
 				<binaryDataArrayList count="2">
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="mzArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="672" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="17" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="68" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="36" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="144" />
 						<binary />
 					</binaryDataArray>
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="intensityArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="740" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="17" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="68" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="1024" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="36" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="144" />
 						<binary />
 					</binaryDataArray>
 				</binaryDataArrayList>
@@ -288,16 +288,16 @@
 				<binaryDataArrayList count="2">
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="mzArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="808" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="32" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="36" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="144" />
 						<binary />
 					</binaryDataArray>
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="intensityArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="840" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="32" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="1168" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="36" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="144" />
 						<binary />
 					</binaryDataArray>
 				</binaryDataArrayList>
@@ -317,16 +317,16 @@
 				<binaryDataArrayList count="2">
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="mzArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="872" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="11" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="44" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="36" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="144" />
 						<binary />
 					</binaryDataArray>
 					<binaryDataArray encodedLength="0">
 						<referenceableParamGroupRef ref="intensityArray" />
-						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="916" />
-						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="11" />
-						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="44" />
+						<cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="1312" />
+						<cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="36" />
+						<cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="144" />
 						<binary />
 					</binaryDataArray>
 				</binaryDataArrayList>
--- a/test-data/preprocessing_results3.imzml.txt	Tue Nov 03 22:35:49 2020 +0000
+++ b/test-data/preprocessing_results3.imzml.txt	Sun Aug 29 07:10:15 2021 +0000
@@ -1,4 +1,4 @@
 imzML file:
 total 24
--rw-rw-r-- 1 meli meli   960 Oct  5 19:58 ibd
--rw-rw-r-- 1 meli meli 18112 Oct  5 19:58 imzml
+-rw-rw-r-- 1 meli meli  1456 Nov 29 18:04 ibd
+-rw-rw-r-- 1 meli meli 18133 Nov 29 18:04 imzml
Binary file test-data/preprocessing_results3.pdf has changed
Binary file test-data/preprocessing_results4.ibd has changed
--- a/test-data/preprocessing_results4.imzml	Tue Nov 03 22:35:49 2020 +0000
+++ b/test-data/preprocessing_results4.imzml	Sun Aug 29 07:10:15 2021 +0000
@@ -9,8 +9,8 @@
 		<fileContent>
 			<cvParam cvRef="MS" accession="MS:1000579" name="MS1 spectrum" value="" />
 			<cvParam cvRef="MS" accession="MS:1000128" name="profile spectrum" value="" />
-			<cvParam cvRef="IMS" accession="IMS:1000080" name="universally unique identifier" value="48842eaf-40e5-4a3f-831c-2d7a3b7e04b9" />
-			<cvParam cvRef="IMS" accession="IMS:1000091" name="ibd SHA-1" value="2010ba5b7d44695d891cfe3b6674a5699fa610c0" />
+			<cvParam cvRef="IMS" accession="IMS:1000080" name="universally unique identifier" value="04431b64-9f3d-44b4-9e63-81b9e4924aec" />
+			<cvParam cvRef="IMS" accession="IMS:1000091" name="ibd SHA-1" value="38a4fadd32374bdf0e4b2bb7d976f6067d542a29" />
 			<cvParam cvRef="IMS" accession="IMS:1000030" name="continuous" value="" />
 		</fileContent>
 	</fileDescription>
@@ -42,7 +42,7 @@
 		</sample>
 	</sampleList>
 	<softwareList count="1">
-		<software id="Cardinal" version="2.6.0">
+		<software id="Cardinal" version="2.10.0">
 			<cvParam cvRef="MS" accession="MS:1000799" name="custom unreleased software tool" value="" />
 		</software>
 	</softwareList>
--- a/test-data/preprocessing_results4.imzml.txt	Tue Nov 03 22:35:49 2020 +0000
+++ b/test-data/preprocessing_results4.imzml.txt	Sun Aug 29 07:10:15 2021 +0000
@@ -1,4 +1,4 @@
 imzML file:
 total 84
--rw-rw-r-- 1 meli meli 62696 Oct  5 19:58 ibd
--rw-rw-r-- 1 meli meli 18199 Oct  5 19:58 imzml
+-rw-rw-r-- 1 meli meli 62696 Aug 28 16:41 ibd
+-rw-rw-r-- 1 meli meli 18200 Aug 28 16:41 imzml
Binary file test-data/preprocessing_results4.pdf has changed
Binary file test-data/test1.pdf has changed
Binary file test-data/test2.pdf has changed
Binary file test-data/test3.pdf has changed
Binary file test-data/test4.pdf has changed
Binary file test-data/test5.pdf has changed
Binary file test-data/test6.pdf has changed
Binary file test-data/test6.rdata has changed
Binary file test-data/test7.pdf has changed
Binary file test-data/test7.rdata has changed