Posts by marcelvanherk

    Ok,


    the sql database automatically stores any non-sequence item that is listed in dicom.sql. You can maybe sort your problem by using lua to create private elements to the RTPLAN object and define these in dicom.sql so that they are written. However, as I pointed out there can be hundreds of control points so I am not sure how you would code that in a single text string. I think database fields in conquest are limited to 256 characters.


    A better solution is to create a database table yourself (you can use lua to do this) and use lua sql() command to write into that and dbquery() to read.


    console.bat runs a simple console where you can try any lua code. It stores the history of what you typed.


    A bit of example code (from overview.lua in the distribution, it has examples for all lua functions):


    sql("CREATE TABLE UserTable (CounterID varchar(99), Val integer)");

    sql("INSERT INTO UserTable (CounterID,Val) VALUES ('CT',1) ON DUPLICATE KEY UPDATE Val=Val+1");


    Marcel

    ImportConverter0 = lua/yourfile.lua


    use a / not a \


    In your code line 10 misses a .


    A simple way to test this code is in the GUI - modify image (advanced)



    This is the correct syntax:



    Or install zerobrane studio and link it to conquest (see manual)


    Marcel

    BeamLimitingDeviceSequenc --> BeamLimitingDeviceSequence

    ReferencedStructureSequenc -.> ReferencedStructureSequence

    FractionGroupSequenc --> FractionGroupSequenc


    Then the code may run. It should print info from the RTPLAN to the server's log window when it recieves one. The attached script shows an example script modifying tags in an rtlan. Use with care


    Marcel

    Files

    Hi,


    you can use Lua to read it, e.g. by starting a script for each received item:


    ImportConverter0 = lua/yourfile.lua


    And then e.g. there (this is for an RTSTRUCT, princliple is the same for an RTPLAN:


    if Data.Modality=='RTSTRUCT' then

    for i=0, #Data.StructureSetROISequence-1 do

    print('*** frameofref', i, Data.StructureSetROISequence[i].ReferencedFrameOfReferenceUID)

    end;

    for i=0, #Data.ROIContourSequence-1 do

    for j=0, #Data.ROIContourSequence[i].ContourSequence-1 do

    for k=0, #Data.ROIContourSequence[i].ContourSequence[j].ContourImageSequence-1 do

    print('*** r sop', i, j, k, Data.ROIContourSequence[i].ContourSequence[j].ContourImageSequence[k].ReferencedSOPInstanceUID)

    end

    end

    end

    end



    Marcel

    Hi, a radiation plan is an array of control points, that contain e.g. many gantry angles, leaf positions etc. So it is not possible to store these in a single database field. I also do not know what "modifyobject" means. And anyway anything in an exportconnverter runs after the image is stored in the database.


    Marcel

    Hi, any version supports it, just add sop classes to dgatesop.lst. Use a 64 bits version is recommended.


    The prebuilt dgate in the current release is compiled on ubuntu14.04. So I guess it will compile on gcc 4.8.5. I have been careful not to use modern language feautures.


    Marcel