Error while reading BASIC_GRAYSCALE_IMAGE_BOX - N_SET_RQ res

All other questions regarding DICOMscope

Moderator: Moderator Team

Post Reply
Message
Author
jkirans
Posts: 3
Joined: Fri, 2008-03-07, 08:28

Error while reading BASIC_GRAYSCALE_IMAGE_BOX - N_SET_RQ res

#1 Post by jkirans » Fri, 2008-03-07, 09:44

Hello Experts,

I am using .net toolkit and .net application as a SCU and dicomscope as a SCP.

Getting below error while reading the response of BASIC_GRAYSCALE_IMAGE_BOX - N_SET_RQ request to dicomscope 3.5.1

Error in dicomscope log:

error: cannot update basic grayscale image box, object not found.

And getting 274 number as a response at SCU end.

Please suggest.

Many Thanks!!

-Kiran

Michael Onken
DCMTK Developer
Posts: 1707
Joined: Fri, 2004-11-05, 13:47
Location: Oldenburg, Germany
Contact:

#2 Post by Michael Onken » Fri, 2008-03-07, 10:23

Hi,

without sounds like the client is referring to a Grayscale Image Box that does not exsist on the server. This is also what error 274 (0x112) is telling. From the standard part 7:
C.5.19 No Such object instance
Status (0000,0900) US 1 Confirmation status of the operation. The value of this required field shall be set to 0112H.
So, during DICOM print protocol the client creates a layout on the server and receives as a response some unique Instance UIDs, one for each image of the page. The number of UIDs (and so the number of boxes) is implicetly calculated from the layout chosen. The error message usually implies that your SCU tries to talk about image boxes (maybe for filling them with pixel data) which does not exist, ie it is using the wrong Instance UID(s) - not the one returned by the SCP before.

Regards,
Michael

jkirans
Posts: 3
Joined: Fri, 2008-03-07, 08:28

#3 Post by jkirans » Fri, 2008-03-07, 11:21

Hi Michael,

Firstly, Thanks for your promt reply.

Here is code sample. Can you please suggest.

FilmBox Response

s_affectedSopInstanceUIDFilmBox = m_responseMsg.AffectedSopInstanceUid.ToString();

ImageBox
MCdimseMessage m_sendMessage = null;

m_sendMessage = new MCdimseMessage(MCdimseService.N_SET_RQ, "BASIC_GRAYSCALE_IMAGE_BOX");

//Some of the attributes being set here
m_sendMessage.DataSet[MCdicom.MAGNIFICATION_TYPE, 0] = "REPLICATE";
m_sendMessage.DataSet[MCdicom.SMOOTHING_TYPE, 0] = "0";
m_sendMessage.DataSet[MCdicom.MIN_DENSITY, 0] = "0";

MCitem m_item = new MCitem("PREFORMATTED_GRAYSCALE_IMAGE");
m_sendMessage.DataSet[MCdicom.BASIC_GRAYSCALE_IMAGE_SEQUENCE, 0] = m_item;
m_item[MCdicom.SAMPLES_PER_PIXEL, 0] = objBitmapInfo.m_samplePerPixel;
.
.
.
m_sendMessage.CommandSet[MCdicom.REQUESTED_SOP_CLASS_UID, 0] = "1.2.840.10008.5.1.1.4";
m_sendMessage.CommandSet[MCdicom.REQUESTED_SOP_INSTANCE_UID, 0] = s_affectedSopInstanceUIDFilmBox;

m_validates = m_sendMessage.validate(MCvalidationLevel.Full);
if (m_validates)
{
MCprintManagementService m_service = new MCprintManagementService(objMCAssociation);
m_service.sendRequestMessage(m_sendMessage);
}

Many Thanks!!

-Kiran

Michael Onken
DCMTK Developer
Posts: 1707
Joined: Fri, 2004-11-05, 13:47
Location: Oldenburg, Germany
Contact:

#4 Post by Michael Onken » Fri, 2008-03-07, 12:03

Hi,

sorry, I will not debug your (not even DCMTK-based :shock: ) code... looking hasty over it, it seems that you are using the Film Box Instance UID in your message instead of the Instance UIDs of the Image Boxes _within_ that Film Box.

Regards,
Michael

jkirans
Posts: 3
Joined: Fri, 2008-03-07, 08:28

#5 Post by jkirans » Fri, 2008-03-07, 14:13

Thanks Michael for your valuable time.

-Kiran

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest