Example #1
0
    // Start is called before the first frame update
    void Start()
    {
        /////Find objects
        importDicomScript = this.GetComponent <importDicom>();
        quadRenderer      = this.GetComponent <Renderer>();

        borderCube   = GameObject.Find("Dicom_Image_Border_Cube");
        cubeRenderer = borderCube.GetComponent <Renderer>();

        if (importDicomScript.dicomInformation != null)
        {
            //////// Set Original window settings to shader of cube
            originalWindowWidth  = (float)importDicomScript.dicomInformation.ImageWindowWidth;
            originalWindowCenter = (float)importDicomScript.dicomInformation.ImageWindowCenter;

            quadRenderer.material.SetFloat(adjustWindowWidthName, originalWindowWidth);
            quadRenderer.material.SetFloat(adjustWindowCenterName, originalWindowCenter);
        }

        if (importDicomScript.threeDimTexture != null)
        {
            //////// Set 3D Texture to shader of cube
            quadTexture = importDicomScript.threeDimTexture;
            quadRenderer.material.SetTexture(mainTextureName, quadTexture);

            cubeRenderer.material.SetTexture(mainTextureName, quadTexture);
        }
    }
Example #2
0
    // Start is called before the first frame update
    void Start()
    {
        dicomImageQuad    = GameObject.Find("Dicom_Image_Quad");
        importDicomScript = dicomImageQuad.GetComponent <importDicom>();

        if (importDicomScript.dicomSlices != null)
        {
            if (importDicomScript.dicomSlices.Length == 5)
            {
                /////Assign slice texture to each Plane
                dicomImagePlane = GameObject.Find("Dicom_Image_Plane");
                var dicomImagePlaneRenderer = dicomImagePlane.GetComponent <Renderer>();
                dicomImagePlaneRenderer.material.mainTexture = importDicomScript.dicomSlices[0];

                dicomImagePlane2 = GameObject.Find("Dicom_Image_Plane_2");
                var dicomImagePlaneRenderer2 = dicomImagePlane2.GetComponent <Renderer>();
                dicomImagePlaneRenderer2.material.mainTexture = importDicomScript.dicomSlices[1];

                dicomImagePlane3 = GameObject.Find("Dicom_Image_Plane_3");
                var dicomImagePlaneRenderer3 = dicomImagePlane3.GetComponent <Renderer>();
                dicomImagePlaneRenderer3.material.mainTexture = importDicomScript.dicomSlices[2];

                dicomImagePlane4 = GameObject.Find("Dicom_Image_Plane_4");
                var dicomImagePlaneRenderer4 = dicomImagePlane4.GetComponent <Renderer>();
                dicomImagePlaneRenderer4.material.mainTexture = importDicomScript.dicomSlices[3];

                dicomImagePlane5 = GameObject.Find("Dicom_Image_Plane_5");
                var dicomImagePlaneRenderer5 = dicomImagePlane5.GetComponent <Renderer>();
                dicomImagePlaneRenderer5.material.mainTexture = importDicomScript.dicomSlices[4];
            }
        }

        /////Find objects
        studyText    = GameObject.Find("Dicom_Info_Text_Study");
        patientText  = GameObject.Find("Dicom_Info_Text_Patient");
        modalityText = GameObject.Find("Dicom_Info_Text_Modality");

        if (importDicomScript.dicomInformation != null)
        {
            /////Assign slice dicom information to Canvas
            studyText.GetComponent <TextMeshProUGUI>().text    = importDicomScript.dicomInformation.Strings.studyInfo;
            patientText.GetComponent <TextMeshProUGUI>().text  = importDicomScript.dicomInformation.Strings.patientInfo;
            modalityText.GetComponent <TextMeshProUGUI>().text = importDicomScript.dicomInformation.Strings.modalityInfo;
        }
        else
        {
            studyText.GetComponent <TextMeshProUGUI>().text    = "N/A";
            patientText.GetComponent <TextMeshProUGUI>().text  = "N/A";
            modalityText.GetComponent <TextMeshProUGUI>().text = "N/A";
        }
    }
    // Start is called before the first frame update
    void Start()
    {
        dicomImageQuad    = GameObject.Find("Dicom_Image_Quad");
        importDicomScript = dicomImageQuad.GetComponent <importDicom>();

        orientationCompass = GameObject.Find("Dicom_Orientation_Compass");

        orientationL = GameObject.Find("Orientation_Sinister");
        orientationR = GameObject.Find("Orientation_Dexter");
        orientationS = GameObject.Find("Orientation_Superior");
        orientationI = GameObject.Find("Orientation_Inferior");
        orientationA = GameObject.Find("Orientation_Anterior");
        orientationP = GameObject.Find("Orientation_Posterior");

        if (importDicomScript.dicomInformation != null)
        {
            orientation = importDicomScript.dicomInformation.OrientationPatient;

            //APPLY LETTERS ACCORDING TO CALCULATED PATIENT ORIENTATION
            switch (orientation)
            {
            case ("Coronal AP"):
                orientationL.GetComponent <TextMeshProUGUI>().text = "R";
                orientationR.GetComponent <TextMeshProUGUI>().text = "L";
                orientationS.GetComponent <TextMeshProUGUI>().text = "A";
                orientationI.GetComponent <TextMeshProUGUI>().text = "P";
                orientationA.GetComponent <TextMeshProUGUI>().text = "S";
                orientationP.GetComponent <TextMeshProUGUI>().text = "I";
                break;

            case ("Coronal PA"):
                orientationL.GetComponent <TextMeshProUGUI>().text = "L";
                orientationR.GetComponent <TextMeshProUGUI>().text = "R";
                orientationS.GetComponent <TextMeshProUGUI>().text = "P";
                orientationI.GetComponent <TextMeshProUGUI>().text = "A";
                orientationA.GetComponent <TextMeshProUGUI>().text = "S";
                orientationP.GetComponent <TextMeshProUGUI>().text = "I";
                break;

            case ("Axial SI"):
                orientationL.GetComponent <TextMeshProUGUI>().text = "R";
                orientationR.GetComponent <TextMeshProUGUI>().text = "L";
                orientationS.GetComponent <TextMeshProUGUI>().text = "S";
                orientationI.GetComponent <TextMeshProUGUI>().text = "I";
                orientationA.GetComponent <TextMeshProUGUI>().text = "P";
                orientationP.GetComponent <TextMeshProUGUI>().text = "A";
                break;

            case ("Axial IS"):
                orientationL.GetComponent <TextMeshProUGUI>().text = "R";
                orientationR.GetComponent <TextMeshProUGUI>().text = "L";
                orientationS.GetComponent <TextMeshProUGUI>().text = "I";
                orientationI.GetComponent <TextMeshProUGUI>().text = "S";
                orientationA.GetComponent <TextMeshProUGUI>().text = "A";
                orientationP.GetComponent <TextMeshProUGUI>().text = "P";
                break;

            case ("Saggital LR"):
                orientationL.GetComponent <TextMeshProUGUI>().text = "A";
                orientationR.GetComponent <TextMeshProUGUI>().text = "P";
                orientationS.GetComponent <TextMeshProUGUI>().text = "L";
                orientationI.GetComponent <TextMeshProUGUI>().text = "R";
                orientationA.GetComponent <TextMeshProUGUI>().text = "S";
                orientationP.GetComponent <TextMeshProUGUI>().text = "I";
                break;

            case ("Saggital RL"):
                orientationL.GetComponent <TextMeshProUGUI>().text = "P";
                orientationR.GetComponent <TextMeshProUGUI>().text = "A";
                orientationS.GetComponent <TextMeshProUGUI>().text = "R";
                orientationI.GetComponent <TextMeshProUGUI>().text = "L";
                orientationA.GetComponent <TextMeshProUGUI>().text = "S";
                orientationP.GetComponent <TextMeshProUGUI>().text = "I";
                break;

            default:
                orientationCompass.SetActive(false);
                break;
            }
        }
        else
        {
            orientationCompass.SetActive(false);
        }

        if (showOrientationCompass)
        {
            orientationCompass.SetActive(true);
        }
        else
        {
            orientationCompass.SetActive(false);
        }

        //Debug.Log($"LOG: {orientation}");
    }