[ome-devel] ScanR importer and well labels

Rubén Muñoz ruben.munoz at embl.de
Wed Feb 1 10:29:30 GMT 2012


Hi Melissa,

Thanks a lot, for your reply and the for ticket. 

I understand that the only way to determine the number of columns/rows in the ScanR dataset are the labels.

However, regarding the users, theres the possibility of editing the labels in the system manually. It is unlikely but possible that someone would change the predefined formats. 

Would it be possible to sort by the label table ("well selection table")?

Otherwise as suggested, 

Thanks a lot, 

Rubén

On Feb 1, 2012, at 2:56 AM, Melissa Linkert wrote:

> Hi Rubén,
> 
>> Using ScanR importer I found a more recent problem. The dataset I use has labels at the beginning off the file names (A1, A2, A3, ..., A10, A11, A12, B1, ...)
>> 
>> I believe that your code sorts the images alphabetically at some point: (A1, A10, A11, A12, A2, ...)
>> 
>> Please note that the following loop didn't work for that dataset. It expects the images to be in a different order, as it remembers the lastListIndex for the next cycle, assuming always increasing well index. 
> 
> As always, thanks for this.  I can see this as well with one of the datasets
> that you sent previously.  While reverting to the old looping strategy does
> work, the real culprit is line 365 of ScanrReader.java, which as you say does
> an alphabetic sort of the file names.  Changing how sorting is performed
> (alphabetically by first character, then numerically by digits up until the
> "--") should solve the problem and allow us to keep the more efficient loop
> strategy.
> 
> I haven't had quite enough coffee at the moment to reliably fix the
> sorting, but I've filed a ticket here so that the problem will get sorted
> out in the next few days:
> 
> http://trac.openmicroscopy.org.uk/ome/ticket/7950
> 
> Regards,
> -Melissa
> 
> On Mon, Jan 30, 2012 at 04:00:10PM +0100, Rubén Muñoz wrote:
>> Dear Melissa, how are you?
>> 
>> Using ScanR importer I found a more recent problem. The dataset I use has labels at the beginning off the file names (A1, A2, A3, ..., A10, A11, A12, B1, ...)
>> 
>> I believe that your code sorts the images alphabetically at some point: (A1, A10, A11, A12, A2, ...)
>> 
>> Please note that the following loop didn't work for that dataset. It expects the images to be in a different order, as it remembers the lastListIndex for the next cycle, assuming always increasing well index. 
>> 
>> 386	            for (int c=0; c<nChannels; c++) {
>> 387	              for (int i=lastListIndex; i<list.length; i++) {
>> 388	                String file = list[i];
>> 389	                if (file.indexOf(wellPos) != -1 && file.indexOf(zPos) != -1 &&
>> 390	                  file.indexOf(posPos) != -1 && file.indexOf(tPos) != -1 &&
>> 391	                  file.indexOf(channelNames.get(c)) != -1)
>> 392	                {
>> 393	                  tiffs[next++] = new Location(dir, file).getAbsolutePath();
>> 394	                  if (c == nChannels - 1) {
>> 395	                    lastListIndex = i;
>> 396	                  }
>> 397	                  break;
>> 398	                }
>> 399	              }
>> 400	            }
>> 
>> 
>> Back in 4.1 the code was inefficient but worked fine in terms of construction of the tiff list. 
>> 
>> 
>> 309	            for (int c=0; c<nChannels; c++) {
>> 310	              for (String file : list) {
>> 311	                if (file.indexOf(wellPos) != -1 && file.indexOf(zPos) != -1 &&
>> 312	                  file.indexOf(posPos) != -1 && file.indexOf(tPos) != -1 &&
>> 313	                  file.indexOf(channelNames.get(c)) != -1)
>> 314	                {
>> 315	                  tiffs[next++] = new Location(dir, file).getAbsolutePath();
>> 316	                  break;
>> 317	                }
>> 318	              }
>> 319	            }
>> 
>> I have temporally fixed our copy using the upper loop, which is still inefficient for large datasets, it would be interesting to have a quicker importer though. 
>> 
>> Thaanks and best regards,
>> 
>> Rubén Muñoz



More information about the ome-devel mailing list