Lukas-kV / TescanCDFOpener

ImageJ plugin for opening TESCAN Q-PHASE CDF files
BSD 3-Clause "New" or "Revised" License
1 stars 1 forks source link

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

Closed beniroquai closed 6 years ago

beniroquai commented 6 years ago

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)
Lukas-kV commented 6 years ago

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.

beniroquai commented 6 years ago

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!

Lukas-kV commented 6 years ago

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

beniroquai commented 6 years ago

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

Lukas-kV commented 6 years ago

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.