Changes between Version 3 and Version 4 of SecondQuery


Ignore:
Timestamp:
10/16/06 16:05:29 (11 years ago)
Author:
detwiler
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SecondQuery

    v3 v4  
    22 
    33{{{ 
    4 import module namespace math = "http://sig.biostr.washington.edu/dxq/math/" at "http://localhost:8080/XQueryLibraries/math.xq"; 
     4import module namespace math = "http://sig.biostr.washington.edu/dxq/math/" at "http://bursa:8080/XQueryLibraries/math.xq"; 
    55 
    66declare function  local:distinct-deep($nodes as node()*)  as node()*  
     
    1414        dxq:csm(" 
    1515                <results> 
     16                <TransformServerParam coord='site' source='0' target=''/> 
    1617                { 
    1718                        let $codes := ('2','6') 
     
    4142                                                                                        sitetoanatomymapelement[stimsite/_oid = $trial/stimsite1/_oid] 
    4243                                                                        return 
    43                                                                                 <site> 
    44                                                                                         {$sitemap_elt/right_coord} 
    45                                                                                         {$sitemap_elt/sup_coord} 
    46                                                                                         {$sitemap_elt/ant_coord} 
    47                                                                                 </site> 
     44                                                                                <site x0='{$sitemap_elt/right_coord}'  
     45                                                                                        y0='{$sitemap_elt/sup_coord}' z0='{$sitemap_elt/ant_coord}' 
     46                                                                                        space0='{concat('P',$p/pnum)}' space='MNI'/> 
    4847                                                                } 
    4948                                                        </trial> 
     
    5453        ") 
    5554         
     55(: normalize coordinates :) 
     56let $norm_patients_with_semantic_errors := dxq:trans($patients_with_semantic_errors) 
     57 
     58         
    5659(: create point objects for all sites for each patient :) 
    5760let $patient_points := 
    58         for $patient in $patients_with_semantic_errors//patient 
     61        for $patient in $norm_patients_with_semantic_errors//patient 
    5962        let $sites := $patient//site 
    6063        return 
     
    6871                                        for $site in $sites 
    6972                                        return 
    70                                                 <point> 
    71                                                         <x>{$site/right_coord/text()}</x> 
    72                                                         <y>{$site/sup_coord/text()}</y> 
    73                                                         <z>{$site/ant_coord/text()}</z> 
    74                                                 </point> 
     73                                                if(string(number($site/@x))!='NaN' and 
     74                                                        string(number($site/@y))!='NaN' and 
     75                                                        string(number($site/@z))!='NaN') 
     76                                                then 
     77                                                        <point> 
     78                                                                <x>{data($site/@x)}</x> 
     79                                                                <y>{data($site/@y)}</y> 
     80                                                                <z>{data($site/@z)}</z> 
     81                                                        </point> 
     82                                                else() 
    7583                                } 
    7684                                </sites> 
     
    7886                else() 
    7987                         
    80 (: determine standard deviation in from centroid (intra-patient) :) 
     88(: determine standard deviation in pair distances (intra-patient) :) 
    8189let $male_patient_stnd_devs := 
    8290        for $patient in $patient_points