/** * 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); }
/** * 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); } }
/** * 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); } }
/** * 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); } }