Weasis error for studies with Umlaut like "ä"

  • Hello,


    surely a german-speaking problem: studies containing an umlaut (ä,ö,ü) fail to load in the weasis viewer. weasis opens smoothly but i Recieve an error:
    error weasis:Error on loading the XML Manifest from ...
    When I change the study description on a 1.4.19beta instance from "MR Schädel" to "MR Schaedel" everything runs fine. Is there a solution or a workaround? "Conquest does not modify or interpret any field data", this will not work.


    A bit strange, with conquest 1.4.17d and Apache 2.2 On Windows Small Business Server 2008 it works, on Server 2003R2 not.
    Any ideas or hints?


    Kind regards an thanks in advance!


    Jörg

  • Hi Joerg,


    can you inspect the weasisseriesxml file for any obvious errors? It may be that a string needs to be escaped. The code that generates it is in weasisseriesxml.lua. You can for instance try to add a line after 5 saying


    patid=''


    This may circumvent the issue.


    Marcel

  • Hi Marcel,


    thanks for your reply, your workaround doesn't work. The issue concerns all study-descriptions and patient names with umlauts.
    I try to follow this direction implementing in line 37
    r[0].StudyDescription = 'test'
    it runs fine.


    I try to follow further and implement a kind of stringreplacement in the weasisseriesxml, or do you have better ideas?


    Kind regards


    Jörg

  • Hi Marcel,


    this was my first contact to lua. So I stick to the "quick and dirty" solution.


    As far as I understand: the strings I want to manipulate are mor or less information strings for the WADO request, the information displayed by the weasis viewers is picked from the dicom images retrieved. In my final solution the non alphanumeric characters are replaced by an "_". Modification marked as ascii-compliance insert


    weasisseries.xml after line 22:


    Code
    -- updated to pass compress mode, mvh 20140126print('Content-Type: application/xml\n')local patid = string.gsub(series2, ':.*$', '')local seriesuid = string.gsub(series2, '^.*:', '')local q = DicomObject:new()q.QueryRetrieveLevel = 'IMAGE'q.PatientID = patidq.SeriesInstanceUID = seriesuidq.SOPInstanceUID = ''q.PatientBirthDate = ''q.PatientName = ''q.StudyInstanceUID = ''q.StudyDescription = ''q.StudyDate = ''q.StudyTime = ''q.SeriesDescription = ''q.SeriesNumber = ''q.Modality = ''q.ImageNumber = ''r = dicomquery(servercommand('get_param:MyACRNema'), 'IMAGE', q)-- ascii compliance insert: remove non alphanumeric characters 06/2016 r[0].PatientName =r[0].PatientName:gsub('%W','_')r[0].StudyDescription =r[0].StudyDescription:gsub('%W','_')r[0].SeriesDescription = r[0].SeriesDescription:gsub('%W','_')-- end ascii compliance insert wt = ""if compress=='J3' or compress=='j3' then wt = ' WadoTransferSyntaxUID="1.2.840.10008.1.2.4.50"' endif compress=='J4' or compress=='j4' then wt = ' WadoTransferSyntaxUID="1.2.840.10008.1.2.4.51"' endif compress=='J5' or compress=='j5' then wt = ' WadoTransferSyntaxUID="1.2.840.10008.1.2.4.53"' endif compress=='J1' or compress=='j1' then wt = ' WadoTransferSyntaxUID="1.2.840.10008.1.2.4.55"' endif compress=='J2' or compress=='j2' then wt = ' WadoTransferSyntaxUID="1.2.840.10008.1.2.4.57"' endif compress=='J1' or compress=='j1' then wt = ' WadoTransferSyntaxUID="1.2.840.10008.1.2.4.70"' endif compress=='JK' or compress=='jk' then wt = ' WadoTransferSyntaxUID="1.2.840.10008.1.2.4.90"' endif compress=='JL' or compress=='jl' then wt = ' WadoTransferSyntaxUID="1.2.840.10008.1.2.4.91"' endlocal s = DicomObject:new()print([[<?xml version="1.0" encoding="utf-8" ?><wado_query xmlns= "http://www.weasis.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" wadoURL="]]..webscriptadress..[[" requireOnlySOPInstanceUID="false" overrideDicomTagsList="0x00000000" > <Patient PatientID="]]..patid..[[" PatientName="]]..r[0].PatientName..[[" PatientBirthDate="]]..r[0].PatientBirthDate..[[" > <Study StudyInstanceUID="]]..r[0].StudyInstanceUID..[[" StudyDescription="]]..r[0].StudyDescription..[[" StudyDate="]]..r[0].StudyDate..[[" StudyTime="]]..r[0].StudyTime..[[" > <Series SeriesInstanceUID="]]..r[0].SeriesInstanceUID..[[" SeriesDescription="]]..r[0].SeriesDescription..[[" SeriesNumber="]]..r[0].SeriesNumber..[[" Modality="]]..r[0].Modality..[["]]..wt..[[ >]])for i=0, #r-1 do print([[<Instance SOPInstanceUID="]]..r[i].SOPInstanceUID..[[" InstanceNumber="]]..i..[[" />]])endprint([[ </Series> </Study> </Patient></wado_query>]])



    In weasisstudy.xml only patient name and study name can be treated at the same place, the series name has to be modified in the loop iterating through the different series.



    Kind regards


    Jörg

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!