Lukas-kV/TescanCDFOpener

Plugin version 0; Error: java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.String

beniroquai opened this issue · 5 comments

Thank you very much for publishing the plugin. I got the following error when opening a CDF file:

(Fiji Is Just) ImageJ 2.0.0-rc-61/1.51r; Java 1.8.0_66 [64-bit]; Linux 4.4.0-101-generic; 226MB of 28794MB (<1%)
 
java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.String
	at VariableExt.getRecordString(VariableExt.java:104)
	at MetaData.getMetaString(MetaData.java:132)
	at MetaData.getMetaStruct(MetaData.java:148)
	at MetaData.getCalibration(MetaData.java:159)
	at CDF_Reader_.createStackWindow(CDF_Reader_.java:258)
	at CDF_Reader_.run(CDF_Reader_.java:222)
	at ij.IJ.runUserPlugIn(IJ.java:221)
	at ij.IJ.runPlugIn(IJ.java:185)
	at ij.Executer.runCommand(Executer.java:137)
	at ij.Executer.run(Executer.java:66)
	at java.lang.Thread.run(Thread.java:745)

You have CDF from Q-Phase v5, but we have changed structure of metadata with Q-Phase v6. So you have to open CDF in Q-Phase v6 to update internal structure. Then it will work.

Thanks! In Maltab I do this:

%% read cds-format
fprintf('Reading the dataset from disc. This can take a while..')
[myData myInfo] = cdfread([myFolder myFile]);
%% extract only the raw-hologram from the CDF-Data
try
   fprintf('convert images to dip_image array')
   allholo_raw = dip_image(cat(3, myData{:,6}));
catch
   allholo_raw = dip_image(cat(3, myData{:,5})); 
end

Couldn't you make something like a switch? Thanks a lot! WIll try that!

If you need only the raw data and you don't need metadata I could do some modification.

Well..Would be cool to have the metadata as well ;)

So then is the only way, use Q-Phase program to convert CDF or convert utility which works on windows. I added it to Release as well.