Ruoyan,

From the shroud image, the signal extraction sometimes fails to find the period of the motion of the diaphragm, which results in incorrect phase detection. The easiest way to make sure your respiratory phase has been correctly detected is to used the following python script:

https://www.creatis.insa-lyon.fr/~mory/showPeaksOverShroud.py


You have to save your shroud image with .mhd extension, because simpleRTK can't read .mha (I think), so modify the command line that generates it (in the 4DROOSTER wiki page, that would be

rtkamsterdamshroud--path  . \
                    --regexp  '.*.his'  \
                    --output  shroud.mha \
                    --unsharp  650)
Change "shroud.mha" into "shroud.mhd", re-run all command lines except the ROOSTER reconstruction, and then run

"showPeaksOverShroud.py shroud.mhd sphase.txt"

It will generate an RGB image named "peaksOverShroud.png", which shows the shroud, and overlays the detected extrema of the phase. If your detection is wrong, you'll see it. The script requires SimpleRTK, python and a few python libs.

If your peaks detection is indeed incorrect, you can try cropping the shroud to the region where the periodic signal is most visible. This is usually sufficient. If you need more help, send over your shroud.mhd and shroud.raw file.

Regards,
Cyril

On 09/01/2018 15:47, ry.meng wrote:
Hi Cyril,

The attachment is our projections.mhdfile and we are running the latest RTK, example data works well. I have another question about our sphase.txt file. As my understanding of 4D reconstruction process, spase.txt file should be the optimal fit respiration signals. But in our file, it only has 6 cycles, which is impossible, it confused me.
I'm now testing your new code with our data, hope it works!
Thanks for your help.


Regards

Ruoyan Meng

On 1/9/2018 20:48,Cyril Mory<[email protected]> <mailto:[email protected]> wrote:

    Hi again Ruoyan,


    I have investigated further and found the source of the problem:
    the code performs a rounding of the phase signal to two digits,
    which for some values of your phase ended up to be 1. And the
    rest of the code assumes that the phase belongs to [0; 1[, i.e.
    there should never be a value 1.
    The rounding is useful for optimization: projections with
    identical phases can be forward and backprojected together, which
    is faster than one-by-one, and with high-precision phase values,
    there are never two equal phase values.


    So I just fixed the bug by setting the phase to 0 when its
    rounding is equal to 1, which should do the trick. The pull
    request is being tested, it should be merged soon.


    Thanks for reporting your issue.

    Regards,

    Cyril


    On 09/01/2018 11:31, Cyril Mory wrote:

    Hi Ruoyan,


    I've had a look at your file sphase.txt, it looks perfectly fine
    to me. The problem must lie elsewhere. Does the application 4D
    ROOSTER work with the example data provided on the wiki ? If it
    does, then the problem lies in your data. In that case, please run


    rtkprojections --path D:\bd\20171116 --regexp .*.his
    -oD:\bd\20171116\projections.mhd


    and send us the "projections.mhd" file. It will contain only the
    metadata of your projections, and we'll be able to run the same
    command line as you and try to reproduce the problem.


    If, on the other hand, it doesn't even work with the example
    data provided on the wiki, it is a software problem. In that
    case, can you first update to the latest RTK (the git master
    branch), recompile and test again ?


    Best regards,

    Cyril


    On 26/12/2017 10:47, ry.meng wrote:
    Hi

    Thank you for your reply. I have checked the value in
    sphase.txt and don't have any value larger or equal to 5. Maybe
    the problem lies elsewhere? Thanks.

    Regards

    Ruoyan Meng

    On 12/26/2017 17:14,Simon Rit<[email protected]>
    <mailto:[email protected]> wrote:

        Hi,
        If you look at the code
        
<https://github.com/SimonRit/RTK/blob/master/code/rtkPhasesToInterpolationWeights.hxx#L154>,
        you'll see that the error message corresponds to the case
        where you have a phase which equals the number of frames.
        This cannot be since it is 0-based. In other words, with
        the option "--frames 5", you cannot have a value larger or
        equal to 5 in your file sphase.txt.
        Simon

        On Mon, Dec 25, 2017 at 9:36 AM, ry.meng
        <[email protected] <mailto:[email protected]>> wrote:


            Hi:
            When I tried  the application of 4D ROOSTER
            Reconstruction with my own data, it will stop for the
            following reason: problem while determining the
            interpolation weights. Maybe you guys have met this
            problem before and have a solution for it. Thank you
            very much and I hope to receive your reply soon.


            Happy Holidays!


            Regards

            Ruoyan Meng

            
------------------------------------------------------------------------------------------

            Research Center for Medical Robotics and Minimally
            Invasive Surgical Devices,
            Institute of Biomedical and Health Engineering,
            Shenzhen Institutes of Advanced Technology, Chinese
            Academy of Sciences
            Tel: +86-18576617767 <tel:+86%20185%207661%207767>
            Email: [email protected] <mailto:[email protected]>
            Zip:       518055
            Add: No. 1068 Xueyuan Avenue, Nanshan, Shenzhen, China
            
<https://maps.google.com/?q=No.+1068+Xueyuan+Avenue,+Nanshan,+Shenzhen,+China&entry=gmail&source=g>







            _______________________________________________
            Rtk-users mailing list
            [email protected]
            <mailto:[email protected]>
            https://public.kitware.com/mailman/listinfo/rtk-users
            <https://public.kitware.com/mailman/listinfo/rtk-users>




    _______________________________________________
    Rtk-users mailing list
    [email protected]
    https://public.kitware.com/mailman/listinfo/rtk-users



    _______________________________________________
    Rtk-users mailing list
    [email protected]
    https://public.kitware.com/mailman/listinfo/rtk-users



_______________________________________________
Rtk-users mailing list
[email protected]
https://public.kitware.com/mailman/listinfo/rtk-users

Reply via email to