Posts by marcelvanherk

    Hi,


    It is interesting, for instance in the log you see that in one study you have images of a male and female patient - this must be incorrect. The conquest warnings indicate it database will be 'confused', a study belong to one patient and can have only one sex. Have a look at the one with *** which are more of a problem:


    ***Truncated FrameOfRef -- this is a UID which is max 64 characters but it is passed 88

    ***Inconsistent PatientBir -- could be scans of the different patients mixed

    *** connection terminated -- aborted a transfer on the scanner?


    So no big worries but I have the impression your scanner data is a mess.


    Marcel

    Hi thanks for your report,


    This time I spent more time on depth (tested one Linux in depth), so I appreciate your efforts on another one. If you can post your fixed maklinux I can add it as e.g. maklinux_oracle.


    For lua: I installed lua5.1 and lua 5.3 side by side. Since conquest and its extensions are all based on lua5.1 I would suggest to so the same. Nothing has been tested against Lua5.3., such as web server and anonymisation.


    For mariadb/mysql: I maintain multiple search paths in maklinux, so you may be able to add paths rather than edit them. Of course I can add another choice as well.


    regards,


    Marcel

    Ok,


    then you could connect the two servers and setup MIRROR disks e.g.


    S1

    MAG0=data (on S1)

    MIRROR0=S2\data

    ..


    S2

    MAG0=data (on S2)

    MIRROR0=S1\data

    ..


    That avoids having to clear the old database at all, the old server will just find the disks you moved on the new server on the mirror. In the mean time you can regen parts of the new server to built the new database.


    I assume you have something like:


    ImportConverter0 = STORAGE MAG7


    to make sure new data is not stored on old disks.


    Marcel

    Hi,


    This would likely work and you can script step 4 in Lua (using dicomdelete using the internal DICOM tag for MagDevice). How many images do you have and is SqLite good enough - a power failure may corrupt the database; so I would not use it for such a large production system.


    I would probably backup the database and restore in the new server using mySQL or MariaDB.


    Can you map the SAN disks on the old server to the new one and vice-versa?


    Then you can just play with the MAG locoations in dicom.ini in the new server to first pointing to the old server and then to the new. You can also use MIRROR devices in case you have multiple copies of some of the data or to help the old server find the data in the new server whike migrating.


    I assume the old server must remain live? Is it being written in while migrating?


    Marcel

    Here feature requests will be collected


    1) add LittleEndianExplicit to GUI connecting to dgate. Futured. Partly in 1.5.0beta1

    2) Improve safety of sqlite by regular flushing. Futured, but users can change SqLite startup pragma for safer operation in 1.4.19c

    3) install second server when service of first runs gives trouble - do an echo on the install button and fail if found - futured

    4) wish: OperatorConsole.printf ("*** multiplex: connection terminated [%s]\n", CallingApTitle); Impossible - AE would not have been read

    5) Implement web interface for batch anonymisation - futured

    6) Make max PDU size configurable. Futured.

    7) request for time stamp in ms. Futured.

    8 ) Use conquestdicomserver.lua from gui

    9) Modify lua weasis starter for non-jnlp version

    10) optionally allow 2 viewers from web client, add selection in web installer. One selection in 1.4.19c1

    11) Use flag to avoid error messages from install controller (*** Not enough rights; ***Error loading)

    12) Provide dgateserv service installers in web install

    13) Update SqLite version to latest

    ----

    14) Add lunatic-python lua-python bridge to the release

    This is the buglist, starting with leftover bugs from earlier versions, per catagory:


    Documentation bugs

    D1) Publish about Docker release of Lance

    D2) Document limitations of strings (e.g. 360 for process by xxx)

    D3) Document source of contributions, in particular the Papaya redistributable

    ----

    D4) The readme file in github was updated after the release


    GUI bugs

    G1) browse tab does not work if user of server service and server gui are differerent.

    ----

    G2) GUI queries from the browser contain case errors e.g. DicomPatients i.s.o DICOMPatients - fail when mixing linux sql (docker) and windows GUI


    Web interface bugs

    W1) web viewers are not properly started when there are spaces in the patient ID

    -----

    W2) arrow buttons on viewer and keys for slicing can be out of sync


    DICOM Communication bugs

    C1) Check these changes: 20140608 mvh Added BYTE PCid to CStoreRSP::Write; This change is under review: pcid does not seem to get the right value

    C2) Multiple instance matching incomplete


    Installer bugs or limitations (low priority)

    I1) sql server and access database ODBC install only work for 32 bits of dgate (e.g. disable 64 bits or create ODBC entry by hand)

    I2) last line of dicom.ini does not read if no CR (IndexDBF = 50) - futured

    I3) use BaseDir on dgate to find all folders (now many use current folder, complicating installer development). Implemented for web interface and lua in 1.5.0beta

    I4) web installer should copy html folders as well

    I5) Fedora uses /var/www, and nohup has an issue. Therefore provide specific web install scripts for other linux flavours, e.g. fedora.sh. Once started the same web installer should run. Fedura also requires "sudo setenforce Permissive" for the web server and install to work; also acrnema.map must be copied locally to the cgi-bin/newweb folder rather than pointing to the server folder.

    I6) Web installer on windows does not offer a 'regen' by itself

    -----

    I7) Oracle linux issues see below; add mysql/mariadb option


    Unconfirmed bugs:

    U1) overlapvirtualget=0 breaks the virtual server operation (hardw) - Not confirmed by testing

    U2) color print server does not work. - futured, awaiting more information.

    U3) Forward compressed as j2(?) does not set transfer syntax UID correctly in transmitted image. This is an issue on dcm4che but has not been seen in conquest to conquest transmission.

    U4) enpq reported random failure in 'process by after' mechanism (not confirmed)

    U5) GUI fails to run as user after install as service on server2012; does run as admin - not confirmed

    U6) I was also expecting DicomObject:Read('stu\ser\sop') to work with virtual servers but I tested it again and sadly no luck there

    U7) Show header in wadoviewer (wado text) open as dgate.exe downloads instead of as text viewer


    Below ---- newly found bugs for 1.5.0 will be collected (alsosee above)

    N1) Bridges like lunatic-python require a global lua instance, add doglobalua: with critical section around this and other global instance callers.

    Hi Conquest users,


    Finally here is release 1.5.0. This is the first fully open source version of Conquest DICOM server.


    You can download the release here:


    http://ingenium.home.xs4all.nl…ver/dicomserver150.zip


    This is the corresponding Github commit for 1.5.0:


    https://github.com/marcelvanhe…9e86b28be121f7c0913479ec4


    Several beta versions have been used and tested, so it should be very stable. But of course, reporting of any issues will be greatly appreciated.


    As usual you can update by extracting dgate.exe or dgate64.exe and conquestdicomserver.exe, but also quite a few other files have changed - mainly in the web interface, lua code and installer.


    The latest source code (1.5.0+) can be browsed on: https://github.com/marcelvanherk/Conquest-DICOM-Server


    Marcel

    Ok,


    can you change the dgate from the node that reports c004 to 1.5.0beta3. A compiled sqlite version is on Github. I am curious if the latest version has the same problem. Interesting the C004 comes from a regular MOVE. Does not make sense to me.


    Lua has a method get_amap(index) that returns the list.


    Marcel