# Registration2D3D Namespace Reference

## Functions
def | initWindow
| initialize some varibles when window pops up
def | cleanUp
| cleanUp when windows are closed
def | sendQuery
| send a query to the Database and return the result set
def | getPatientRecordID
| get the DB record ID for a patient given MRO number
def | loadGUILists
| load GUI Lists (2D, 3D and registration lists)
def | load3DImageList
| load 3D image List in GUI
def | load2DImageList
| load 2D image List in GUI
def | selectRegImg
| pop up the registration context menu
def | selectChanged3D
| pop up the 3D context menu
def | selectChanged2D
| pop up the 2D context menu
def | selectAsSource
| select 2D image as source
def | selectAsDest
| select 3D image as target
def | register
| do registration with given AffineMatrix, perspectiveMatrix and postAffine Matrix
def | redoRegFromPopup
| redo the registration
def | loadImage
| load Image as target or source from a given fileName
def | regExist
| check if registration exists
def | getInitialRegMatrix
| generate the initial registration matrix based on Dicom tags code tested only for the Siemens Artis System and the dynaCT mode.
def | loadMatrices
| load the Affine Matrix, perspective Matrix and post AffineMatrix into Registration_3D_2D module
def | deleteRegFromPopup
| delete a registration from registered Image list
def | deleteReg
| delete a registration from a database record
def | getImageFileName
| retrieve the image file name from a database record ID
def | loadRegItem
| load registration into the GUI registered image list
def | directRegExist
| This function is to check if the registration exists and is direct.
def | propagate
| propagate the registration to 3D and 3D registration For example if registration for 3D image 1 and 2 exist, 2 and 3 exist, we need to infer registration for 1 and 3 and save it into database the propagation rule is that if the infered pair's registration exists and the status is direct, we will not overwrite it.
def | saveReg
| save or update registration into database
def | regMultiply
| multiply registration matrices of affine Matrix and registration modification
def | saveApprovalStatus
| save the approval status
def | saveOnRegManual
| the function is called when user clicks "save" button it saves the registration and approval status
def | approveOnRegManual
| the function is called when user clicks "save and approve" button it saves the registration and approval status
def | saveRegAndApprovalStatus
| save the registration and approval status
def | help
| show Help
def | cancelonRegManual
| the function is called when user clicks "cancel" button
## Variables
| source = None
| Global varibles.
| dest = None
int | srcID = 0
int | targetID = 0
string | perspectM = ""
string | affineM = ""
string | postAffineM = ""

## Detailed Description

    * Copyright (c) 2009 Stanford University, School of Medicine All rights reserved.
    *
    * STANFORD ACADEMIC SOFTWARE LICENSE AGREEMENT
    * FOR AngioLocalize SOURCE CODE:
    *
    * 1.  This is a legal agreement between you, RECIPIENT, and STANFORD UNIVERSITY.
    *       By accepting, receiving, and using AngioLocalize.including any accompanying information, materials or
    *       manuals (Program), you are agreeing to be bound by the terms of this Agreement.
    *       If you do not agree to the terms of this Agreement, promptly return the Program to the STANFORD.

    * 2.  STANFORD grants to RECIPIENT a royalty-free, nonexclusive, and nontransferable license to use the Program
    *       and accompanying source code furnished hereunder, upon the terms and conditions set out below.
    *       documentation and/or other materials provided with the distribution.
    * 3.  RECIPIENT acknowledges that the Program is a research tool still in the development stage and that
    *       it is being supplied as is, without any accompanying services, support or improvements from STANFORD.
    * 4.  RECIPIENT agrees to use the Program solely for internal non-commercial purposes.
    * 5.  RECIPIENT may create derivatives and further transfer the Program under the following terms and conditions:
    *        A) Recipient agrees to not commercially exploit the Program and agrees all uses will be for non-commercial purposes; and,
    *        B) Recipient may not mark any derivatives with the title of Program and may not to use iPad mark for any derivatives; and,
    *        C) Recipient agrees to mark and acknowledge all derivatives as follows: "This is a derivative work based on AngioLocalize:
    *           Frameless AVM localization with 2D Digital Subtraction Angiography (DSA) and 3D Rotational Angiography (DRA) Images developed
    *           by Dimitre Hristov, Lina Liu.
    *        D) Recipient agrees to make all improvements, enhancements and derivatives available under
    *           similar terms and conditions to the research community.
    * 6.   RECIPIENT warrants that RECIPIENT will not remove or export any part of the software or Program from the United
    *       States except in full compliance with all United States and other applicable laws and regulations.
    * 7.  RECIPIENT will use the Program in compliance with all applicable laws, policies and regulations including, but not
    *       limited to, any approvals, informed consent and patient confidentiality principles.
    * 8.   RECIPIENT will indemnify, hold harmless, and defend Stanford against any claim of any kind arising out of or
    *       related to the exercise of any rights granted under this Agreement or the breach of this Agreement by RECIPIENT.
    * 9.  Title and copyright to the Program and any associated documentation shall at all times remain with STANFORD,
    *       and RECIPIENT agrees to preserve same.

## Function Documentation

def Registration2D3D::getInitialRegMatrix | ( |  | ) |

generate the initial registration matrix based on Dicom tags code tested only for the Siemens Artis System and the dynaCT mode.

if different system is used it may have to be rewritten to generate the global matrices

Definition at line 241 of file Registration2D3D.py.

def Registration2D3D::propagate | ( |  | targetID,
|  |  | srcID,
|  |  | approvalStatus,
|  |  | regMatrix |
| ) |  |  |

propagate the registration to 3D and 3D registration For example if registration for 3D image 1 and 2 exist, 2 and 3 exist, we need to infer registration for 1 and 3 and save it into database the propagation rule is that if the infered pair's registration exists and the status is direct, we will not overwrite it.

Definition at line 400 of file Registration2D3D.py.

All Classes Namespaces Files Functions Variables Enumerator Friends