@@ -21,24 +21,51 @@ def preset_results_column(results_table, column, value):
2121 results_table .show ("Results" )
2222
2323
24- def add_results_to_resultstable (results_table , column , values ):
25- """Add values to the ResultsTable starting from row 0 of a given column.
24+ def add_results_to_resultstable (results_table , column , values , rows = None ):
25+ """Add values to the ResultsTable in a specified column.
26+
27+ This function works in two ways, depending on the value of `rows`:
28+
29+ 1. If rows is `None`, it adds values sequentially starting from row 0.
30+ 2. If rows is a list of int, it adds values to the given row indices.
2631
2732 Parameters
2833 ----------
2934 results_table : ij.measure.ResultsTable
30- a reference of the IJ-ResultsTable
31- column : string
32- the column in which to add the values
33- values : list(int, double or float)
34- array with values to be added
35+ A reference to the IJ-ResultsTable
36+ column : str
37+ The column in which to add the values.
38+ values : list of int, float or str
39+ Values to be added.
40+ rows : list of int, optional
41+ Specific row indices where values should be added. If None, values are
42+ added sequentially starting from row 0.
43+
44+ Examples
45+ --------
46+ To add the same value (42) to a given `ResultsTable` to rows 1, 3 and 5:
47+ >>> add_results_to_resultstable(rt, "Intensity", 42, rows=[1, 3, 5])
3548 """
36- for index , value in enumerate (values ):
37- results_table .setValue (column , index , value )
49+ if not isinstance (values , list ) and rows is not None :
50+ values = [values ] * len (rows )
51+
52+ # Case 1: Add values sequentially from row 0
53+ if rows is None :
54+ for index , value in enumerate (values ):
55+ results_table .setValue (column , index , value )
56+
57+ # Case 2: Add values to specific rows
58+ else :
59+ if len (values ) != len (rows ):
60+ raise ValueError (f"Length mismatch: values ({ len (values )} ) and rows ({ len (rows )} )" )
61+
62+ for i , row_index in enumerate (rows ):
63+ results_table .setValue (column , row_index , values [i ])
3864
3965 results_table .show ("Results" )
4066
4167
68+
4269def get_resultstable ():
4370 """Instantiate or get the ResultsTable instance.
4471
0 commit comments