Editing
Archive
(section)
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Motion measurements== ===Overview=== [[Image:IGFAControl_Overview.jpg]] ===Create velocities file=== Using <code>c:\IGFAcontrol\PCSerialControl\myCppExample\createVelocities.m</code> set the simulation parameters: <source lang=matlab> % Enable XYmotor XYmotor = 1; % 1-> enabled, 0-> not active % Enable Zmotor Zmotor = 1; % 1-> enabled, 0-> not active % Return to initial position after 30 seconds returnToInitPos = 1; % random or ramp motion motiontype = 1; %0->random, 1->ramp % For XY do you want to do translation or rotation? xymode = 1; %0->translation, 1-> rotation %Random motion % XY rotation amplitude (actual will be smaller due to filtering) xyrot_amplitude = 0; %[deg] % Z translation amplitude (actual will be smaller due to filtering) % cannot be larger than 8*0.082 due to motor limitations ztrans_amplitude = 0*0.082; %[mm] %Ramp motion % XY motor start frame for statrting ramp 1:nProj xystart_frame=575; % XY motor end frame for statrting ramp 1:nProj xyend_frame = 600; % Z motor start frame for statrting ramp 1:nProj zstart_frame=575; % Z motor end frame for statrting ramp 1:nProj zend_frame = 600; % XY rotation end angle xyrot_end = 15; %[deg] % Z translation end location % Check maximum velocity! Should be lower than 24000 ztrans_end = 6*0.082;%8*0.082; %[mm] % output file name outfilename = 'YP_IGFAMOTION_0XX_12'; </source> Hit F5 to run the code. This script will save all the variables in outfilename.mat and create outfilename_velocities.txt to be used for the motor control. ===Using ControlIGFA.exe=== # Open cmd window, navigate to c:\IGFAControl\PCSerialControl\myCppExample\ControlIGFA\Release # Get ControlIGFA.exe ready by typing: ControlIGFA.exe ..\YP_IGFAMOTION_013_1_velocities.txt ..\YP_IGFAMOTION_013_1_positions.txt > ..\YP_IGFAMOTION_013_1_log.txt The positions of the stepper motor are going to be recorded in YP_IGFAMOTION_013_1_positions.txt which can be compared to the desired positions with <code>readIGFAmotionresult.m</code>. Cout is redirected to YP_IGFAMOTION_013_1_log.txt. ===Windaq=== On the IBM laptop: # Open Windaq Hardware manager, select device, connect # In windaq measurement choose File-Open reference file YP_IGFAMOTION_003_1. Loads calibration information for different channels (It was calibrated by Jim, additional information can be found in Steve Sandercott's report and Michael Hoffmann's thesis, I am not sure z-trnslation is calibrated properly, Jim says it is 10um/revolution, Michael says it is 16.6um/revolution...). ===Create control file without cast check=== The XtremeCT control file is based on the standard patient analysis file (same num of proj, int time, etc.). We need to turn off checking the cast switch since we are not using the patient cast. I followed the description in UCSF_crosscali_manual.pdf $ set host 0 Username: calibration Password: $ set proc/priv=bypass $ @disk1:[microct]microct_setup.com $ run disk1:[calibration.util]uct_upd_controlfiles Controlfile # [1]: 48 Name [UCSF Cross-Calib; UCSF-SP]: (verify this is the correct ctrl file) ALL DEFAULTS Disable Cast Switch Test [F]: T ALL DEFAULTS Update CTRL-File [Y]: ===UCSF embedded radius phantom=== [[Image:Ucsfphantom_parts.jpg]] ===CT acquisition of moving phantom: putting it all together=== # Create Patient Names/Numbers in Database # Warmup X-ray tube and scan calibration phantom (daily calibration, patient 1, control file 1) # Set up IGFA device and attach UCSF phantom to it # Power controller and acquisition box # Connect acquisition box via USB to Laptop # Connect controller via serial to USB to Laptop # Open Windaq Hardware manager, select device, connect # In windaq measurement choose File-Open reference file YP_IGFAMOTION_003_1. Loads calibration information for different channels (It was calibrated by Jim, additional information can be found in Steve Sandercott's report and Michael Hoffmann's thesis, I am not sure z-trnslation is calibrated properly, Jim says it is 10um/revolution, Michael says it is 16.6um/revolution...). # Open cmd window, navigate to c:\IGFAControl\PCSerialControl\myCppExample\ControlIGFA\Release # Get ControlIGFA.exe ready by typing: ControlIGFA.exe ..\YP_IGFAMOTION_013_1_velocities.txt ..\YP_IGFAMOTION_013_1_positions.txt > ..\YP_IGFAMOTION_013_1_log.txt # Get Windaq ready by pressing F4, enter name: YP_IGFAMOTION_013_1.wnd, enter # Double check that phantom is at 90 degrees (in Windaq), adjust manually if necessary. # Enter patient number, choose control file 48, pre-calibrate, scout view, choose reference line. # Hit Scan to start scan, start windaq acquisition, when scanner is starting acquiring projections hit enter in the cmd window to start ControlIGFA # When scan is done stop WIndaq by pressing Ctrl-F4, then file->close. # Once phantom was moved to original position, unplug controller and re-plug (there is a configuration problem sometimes, power cycle makes sure that motion is always as it should be, this should be fixed in ControlIGFA.exe...) # Check if orientation of phantom is still 90 degrees (in Windaq). # If Windaq hangs, close Windaq then Hardware manager, remove USB, remove Power, and then back in reverse order.
Summary:
Please note that all contributions to bone.wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
BoneWiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Log in
associated-pages
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
Documents
Recent changes
Help
Tools
What links here
Related changes
Page information