/**
  * Encode the PDU
  * 
  * @param CDicomStreamWriter $stream_writer The stream writer
  *  
  * @return null
  */
 function encodePDU(CDicomStreamWriter $stream_writer)
 {
     $this->calculateLength();
     $stream_writer->writeUInt16($this->type);
     $stream_writer->skip(1);
     $stream_writer->writeUInt32($this->length);
     $stream_writer->skip(4);
 }
 /**
  * Encode the Transfer Syntax
  * 
  * @param CDicomStreamWriter $stream_writer The stream writer
  *  
  * @return null
  */
 function encodeItem(CDicomStreamWriter $stream_writer)
 {
     $stream_writer->writeUInt8($this->type);
     $stream_writer->skip(1);
     $stream_writer->writeUInt16($this->length);
     $stream_writer->writeUID($this->name, $this->length);
 }
 /**
  * Encode the Iplementation Class UID
  * 
  * @param CDicomStreamWriter $stream_writer The stream writer
  *  
  * @return null
  */
 function encodeItem(CDicomStreamWriter $stream_writer)
 {
     $this->calculateLength();
     $stream_writer->writeUint8($this->type);
     $stream_writer->skip(1);
     $stream_writer->writeUInt16($this->length);
     $stream_writer->writeUID($this->uid, $this->length);
 }
 /**
  * Encode the Implementation Version Name
  * 
  * @param CDicomStreamWriter $stream_writer The stream writer
  *  
  * @return null
  */
 function encodeItem(CDicomStreamWriter $stream_writer)
 {
     $this->calculateLength();
     $stream_writer->writeUInt8($this->type);
     $stream_writer->skip(1);
     $stream_writer->writeUInt16($this->length);
     $stream_writer->writeString($this->version_name, $this->length);
 }
 /**
  * Encode the User Information
  * 
  * @param CDicomStreamWriter $stream_writer The stream writer
  *  
  * @return null
  */
 function encodeItem(CDicomStreamWriter $stream_writer)
 {
     $items = fopen("php://temp", "w+");
     $items_stream = new CDicomStreamWriter($items);
     foreach ($this->sub_items as $sub_item) {
         $sub_item->encodeItem($items_stream);
     }
     $this->calculateLength();
     $stream_writer->writeUInt8($this->type);
     $stream_writer->skip(1);
     $stream_writer->writeUInt16($this->length);
     $stream_writer->write($items_stream->buf);
     fclose($items);
 }
 /**
  * Encode the Presentation Syntax
  * 
  * @param CDicomStreamWriter $stream_writer The stream writer
  *  
  * @return void
  */
 function encodeItem(CDicomStreamWriter $stream_writer)
 {
     $this->calculateLength();
     $stream_writer->writeUInt8($this->type);
     $stream_writer->skip(1);
     $stream_writer->writeUInt16($this->length);
     $stream_writer->writeUInt8($this->id);
     $stream_writer->skip(3);
     $this->abstract_syntax->encodeItem($stream_writer);
     foreach ($this->transfer_syntaxes as $transfer_syntax) {
         $transfer_syntax->encodeItem($stream_writer);
     }
 }
 /**
  * Encode the PDU
  * 
  * @param CDicomStreamWriter $stream_writer The stream writer
  *  
  * @return null
  */
 function encodePDU(CDicomStreamWriter $stream_writer)
 {
     $this->calculateLength();
     $stream_writer->writeUInt8($this->type);
     $stream_writer->skip(1);
     $stream_writer->writeUInt32($this->length);
     $stream_writer->skip(1);
     $stream_writer->writeUInt8($this->result);
     $stream_writer->writeUInt8($this->source);
     $stream_writer->writeUInt8($this->diagnostic);
 }
 /**
  * Encode the Presentation Syntax
  * 
  * @param CDicomStreamWriter $stream_writer The stream writer
  *  
  * @return null
  */
 function encodeItem(CDicomStreamWriter $stream_writer)
 {
     $this->calculateLength();
     $stream_writer->writeUInt8($this->type);
     $stream_writer->skip(1);
     $stream_writer->writeUInt16($this->length);
     $stream_writer->writeUInt8($this->id);
     $stream_writer->skip(1);
     $stream_writer->writeUInt8($this->reason);
     $stream_writer->skip(1);
     $this->transfer_syntax->encodeItem($stream_writer);
 }
 /**
  * Encode the Sop Class Extended Negociation
  * 
  * @param CDicomStreamWriter $stream_writer The stream writer
  *  
  * @return null
  */
 function encodeItem(CDicomStreamWriter $stream_writer)
 {
     $this->calculateLength();
     $stream_writer->writeUInt8($this->type);
     $stream_writer->skip(1);
     $stream_writer->writeUInt16($this->length);
     $stream_writer->writeUInt16($this->uid_length);
     $stream_writer->writeUID($this->sop_class_uid, $this->uid_length);
     $stream_writer->writeUInt8($this->sca_support);
     $stream_writer->skip(1);
     $stream_writer->writeUInt8($this->sca_digital_signature_support);
     $stream_writer->skip(1);
     $stream_writer->writeUInt8($this->sca_element_coercion);
     $stream_writer->skip(1);
 }
 /**
  * Encode the User Identity Negociation RQ
  * 
  * @param CDicomStreamWriter $stream_writer The stream writer
  *  
  * @return null
  */
 function encodeItem(CDicomStreamWriter $stream_writer)
 {
     $this->calculateLength();
     $stream_writer->writeUInt8($this->type);
     $stream_writer->skip(1);
     $stream_writer->writeUInt16($this->length);
     $stream_writer->writeUInt8($this->user_identity_type);
     $stream_writer->writeUInt8($this->positive_response_requested);
     $stream_writer->writeUInt16($this->primary_field_length);
     $stream_writer->writeString($this->primary_field, $this->primary_field_length);
     $stream_writer->writeUInt16($this->secondary_field_length);
     if ($this->secondary_field_length > 0) {
         $stream_writer->writeString($this->secondary_field, $this->secondary_field_length);
     }
 }
 /**
  * Encode the PDU
  * 
  * @param CDicomStreamWriter $stream_writer The stream writer
  *  
  * @return void
  */
 function encodePDU(CDicomStreamWriter $stream_writer)
 {
     $this->calculateLength();
     $stream_writer->writeUInt8($this->type);
     $stream_writer->skip(1);
     $stream_writer->writeUInt32($this->length);
     $stream_writer->writeUInt16($this->protocol_version);
     $stream_writer->skip(2);
     $stream_writer->writeString($this->called_AE_title, 16);
     $stream_writer->writeString($this->calling_AE_title, 16);
     $stream_writer->skip(32);
     $this->application_context->encodeItem($stream_writer);
     foreach ($this->presentation_contexts as $_item) {
         $_item->encodeItem($stream_writer);
     }
     $this->user_info->encodeItem($stream_writer);
 }
Exemplo n.º 12
0
 /**
  * Encode the data set with the explicit VR
  * 
  * @param CDicomStreamWriter $stream_writer The stream writer
  * 
  * @param string             $endianness    The endianness, must be equal to "BE" (Big Endian) or "LE" (Little Endian)
  * 
  * @return null
  */
 protected function encodeExplicit(CDicomStreamWriter $stream_writer, $endianness)
 {
     $handle = fopen("php://temp", "w+");
     $value_writer = new CDicomStreamWriter($handle);
     $this->encodeValue($value_writer, $endianness);
     $value_writer->close();
     $stream_writer->writeUInt16($this->group_number, $endianness);
     $stream_writer->writeUInt16($this->element_number, $endianness);
     $stream_writer->writeString($this->vr, 2);
     if (in_array($this->vr, array("OB", "OW", "OF", "SQ", "UT", "UN"))) {
         $stream_writer->skip(2);
         $stream_writer->writeUInt32($this->length, $endianness);
     } else {
         $stream_writer->writeUInt16($this->length, $endianness);
     }
     $stream_writer->write($value_writer->buf);
 }
 /**
  * Encode the Asynchronous Operations
  * 
  * @param CDicomStreamWriter $stream_writer The stream writer
  *  
  * @return null
  */
 function encodeItem(CDicomStreamWriter $stream_writer)
 {
     $this->calculateLength();
     $stream_writer->writeUInt8($this->type);
     $stream_writer->skip(1);
     $stream_writer->writeUInt16($this->length);
     $stream_writer->writeUInt16($this->max_number_operations_invoked);
     $stream_writer->writeUInt16($this->max_number_operations_performed);
 }
 /**
  * Encode the SOP class common extended negociation item
  * 
  * @param CDicomStreamWriter $stream_writer The stream writer
  *  
  * @return null
  */
 function encodeItem(CDicomStreamWriter $stream_writer)
 {
     $this->calculateLength();
     $stream_writer->writeUInt8($this->type);
     $stream_writer->skip(1);
     $stream_writer->writeUInt16($this->length);
     $stream_writer->writeUInt16($this->sop_uid_length);
     $stream_writer->writeUID($this->sop_class_uid, $this->sop_uid_length);
     $stream_writer->writeUInt16($this->service_uid_length);
     $stream_writer->writeUID($this->service_class_uid, $this->service_uid_length);
     $stream_writer->writeUInt16($this->related_sop_classes_id_length);
     foreach ($this->related_sop_classes_id as $_related_sop_class_id) {
         $_related_sop_class_id->encodeItem($stream_writer);
     }
 }
Exemplo n.º 15
0
 /**
  * Encode the PDU
  * 
  * @param CDicomStreamWriter $stream_writer The stream writer
  *  
  * @return null
  */
 function encodePDU(CDicomStreamWriter $stream_writer)
 {
     $handle = fopen("php://temp", "w+");
     $pdv_stream = new CDicomStreamWriter($handle);
     foreach ($this->pdvs as $_pdv) {
         $_pdv->setPresentationContexts($this->presentation_contexts);
         $_pdv->encode($pdv_stream);
     }
     $this->calculateLength();
     $stream_writer->writeUInt8($this->type);
     $stream_writer->skip(1);
     $stream_writer->writeUInt32($this->length);
     $stream_writer->write($pdv_stream->buf);
 }
 /**
  * Encode the User Identity Negociation RQ
  * 
  * @param CDicomStreamWriter $stream_writer The stream writer
  *  
  * @return null
  */
 function encodeItem(CDicomStreamWriter $stream_writer)
 {
     $this->calculateLength();
     $stream_writer->writeUInt8($this->type);
     $stream_writer->skip(1);
     $stream_writer->writeUInt16($this->length);
     $stream_writer->writeUInt16($this->server_response_length);
     if ($this->server_response_length > 0) {
         $stream_writer->writeString($this->server_response, $this->server_response_length);
     }
 }
Exemplo n.º 17
0
 /**
  * Encode the PDU
  * 
  * @param CDicomStreamWriter $stream_writer The stream writer
  *  
  * @return null
  */
 function encodePDU(CDicomStreamWriter $stream_writer)
 {
     $this->calculateLength();
     $stream_writer->writeUInt16($this->type);
     $stream_writer->skip(1);
     $stream_writer->writeUInt32($this->length);
     $stream_writer->skip(2);
     $stream_writer->writeUInt8($this->source);
     if ($this->source == 0) {
         $stream_writer->skip(1);
     } else {
         $stream_writer->writeUInt8($this->diagnostic);
     }
 }