Skip to Main Content

Java APIs

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

I have "cannot resolve symbol", need help, a lot of "?" symbol on my head

843810Sep 17 2002 — edited Sep 25 2002
I've been writting a picture viewer program to view regular image file and dicom file, the dicom code that I use was from eviewbox (by serge derhy), you can get that code by accessing his site at http://eviewbox.sourceforge.net/. I try to put two files under the directory DicomDecoder into my program, it doesn't work, here's how I did it:

under the directory:
d:\java project\picviewer\src

I have:
PictureViewer.java (which is the main)
...

under the directory:
d:\java project\picviewer\src\DicomDecoder

I have:
DicomReader.java
DicomHeaderReader.java

I've successfully compiled DR and DHR, what I did was I went into
c:\java project\picviewer\src and type in "javac .\DicomDecoder\*.java"

then under c:\java project\picviewer\src I type in
"javac PictureViewer.java" I got 3 "cannot resolve symbol"

Pictureviewer.java:244: cannot resolve symbol
symbol : constructor DicomReader (java.lang.String)
location: class DicomDecoder.DicomReader
DicomReader Dr = new DicomReader("File://d/image/mrcspin.dcm");
^
PictureViewer.java:247: cannot resolve symbol
symbol : method getaString (int,int)
location: class PictureViewer
String manufacturer = getaString (0x0008,0x0070);
^

PictureViewer.java:248: cannot resolve symbol
symbol : variable index
location: class PictureViewer
int width = getAnInt(0x0028, 0x0011, index);
^
======================================================================
here's the related part in PictureViewer.java:

...
import DicomDicoder.*;
private void viewSelectedFile()
{
String file = filelist.getSelectedItem();
if(file == null)
{
resetDefaultLabels();
return;
}
//---------------------fit in the DicomReader---------
else if (file != null){
if (file.equals(Utils.dcm) || file.equals(Utils.dic)){

DicomReader Dr = new DicomReader("File://D/java project/DICOM related/DICOM sample picture/mrcspin.dcm");
java.awt.Image img = Dr.getImage();
DicomHeaderReader Dhr = Dr.getDicomHeaderReader();
String manufacturer = getaString (0x0008,0x0070);
int width = getAnInt(0x0028, 0x0011, index );
}
}
//----------------------------------------------------
else
{
viewFile(file);
return;
}
}
======================================================================

here's part of the DicomReader.java

package DicomDecoder;
import java.awt.*;
import java.awt.image.*;
import java.util.*;
import java.net.*;
import java.io.*;


public class DicomReader{

int w, h , highBit, n ; // highBit is for littleEndian
boolean signed ;
final static boolean DEBUG = false ;
boolean ignoreNegValues ;
int bitsStored, bitsAllocated ;
int samplesPerPixel ;
int numberOfFrames ;
byte[] pixData;
String filename ;
DicomHeaderReader dHR ;


public DicomReader( DicomHeaderReader dHR )throws java.io.IOException{ // called by :ImageScan
this.dHR = dHR ;
h = dHR.getRows() ;
w = dHR.getColumns() ;
highBit = dHR.getHighBit() ;
bitsStored = dHR.getBitStored() ;
bitsAllocated = dHR.getBitAllocated();
n = (bitsAllocated/8) ;// = 1 or 2
signed = (dHR.getPixelRepresentation() == 1) ;
samplesPerPixel = dHR.getSamplesPerPixel() ;
this.pixData = dHR.getPixels();// It throws the exception .
ignoreNegValues = true ;// How do you know when ?
samplesPerPixel = dHR.getSamplesPerPixel() ;
numberOfFrames = dHR.getNumberOfFrames() ;
dbg("Number of Frames " + numberOfFrames) ;
}// endofConstructor


public DicomReader(byte[] array )throws java.io.IOException{
this(new DicomHeaderReader(array));
}


public DicomReader(URL url)throws java.io.IOException {

URLConnection u = url.openConnection();
int size = u.getContentLength() ;
byte[] array = new byte[size];
int bytes_read = 0;
DataInputStream in = new DataInputStream(u.getInputStream()) ;
while(bytes_read < size){
bytes_read += in.read(array, bytes_read, size - bytes_read);
}//endwhile
in.close();

this.dHR = new DicomHeaderReader(array);
h = dHR.getRows() ;
w = dHR.getColumns() ;
highBit = dHR.getHighBit() ;
bitsStored = dHR.getBitStored() ;
bitsAllocated = dHR.getBitAllocated();
n = (bitsAllocated/8) ;// = 1 or 2
signed = (dHR.getPixelRepresentation() == 1) ;
this.pixData = dHR.getPixels();// It throws the exception .
ignoreNegValues = true ; // How do you when ?/*
samplesPerPixel = dHR.getSamplesPerPixel() ;
numberOfFrames = dHR.getNumberOfFrames() ;
dbg("Number of Frames " + numberOfFrames) ;
}


public DicomReader( byte[] pixels,
int w,
int h,
int highBit,
int bitsStored,
int bitsAllocated,
boolean signed,
int samplesPerPixel ,
int numberOfFrames,
boolean ignoreNegValues ){

this.h = h;
this.w = w;
this.highBit = highBit;
this.bitsStored = bitsStored ;
this.bitsAllocated = bitsAllocated;
this.n = bitsAllocated/8; // = 1 or 2
this.signed = signed ;
this.pixData = pixels ;// It throws the exception .
this.ignoreNegValues = ignoreNegValues ; // How do you when ?/*
this.samplesPerPixel = samplesPerPixel ;
this.numberOfFrames = numberOfFrames ;

}
.....
======================================================================
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Oct 23 2002
Added on Sep 17 2002
15 comments
668 views