function DisplayLonitudinalQC($groupid, $protocol) { $urllist['Groups'] = "longqc.php"; NavigationBar("Longitudinal QC", $urllist,0,'','','',''); # this only works for study groups $sqlstring = "select a.*, b.* from groups a left join group_data b on a.group_id = b.group_id where a.group_id = $groupid"; //PrintSQL($sqlstring); $result = mysql_query($sqlstring) or die("Query failed: " . mysql_error() . "<br><i>$sqlstring</i><br>"); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $name = $row['group_name']; $ownerusername = $row['ownerusername']; $grouptype = $row['group_type']; $studyid = $row['data_id']; $modality = $row['modality']; $seriesid = $row[$modality . "series_id"]; $sqlstringA = "select *, unix_timestamp(DATE(series_datetime)) 'seriesdate' from $modality"."_series where study_id = $studyid and series_desc = '$protocol' order by seriesdate asc"; //PrintSQL($sqlstringA); $resultA = mysql_query($sqlstringA) or die("Query failed: " . mysql_error() . "<br><i>$sqlstringA</i><br>"); while ($rowA = mysql_fetch_array($resultA, MYSQL_ASSOC)) { $seriesid = $rowA[$modality."series_id"]; $seriesdate = $rowA['seriesdate']; list($path, $uid, $studynum, $studyid, $subjectid) = GetDataPathFromSeriesID($seriesid, $modality); $qadir = "$path/qa"; //echo "$qadir: "; $sqlstringB = "select * from mr_qa where mrseries_id = $seriesid"; $resultB = mysql_query($sqlstringB) or die("Query failed: " . mysql_error() . "<br><i>$sqlstringB</i><br>"); $rowB = mysql_fetch_array($resultB, MYSQL_ASSOC); $iosnr = $rowB["io_snr"]; $pvsnr = $rowB["pv_snr"]; $motion_rsq = $rowB["motion_rsq"]; $moveminx = $rowB["move_minx"]; $moveminy = $rowB["move_miny"]; $moveminz = $rowB["move_minz"]; $movemaxx = $rowB["move_maxx"]; $movemaxy = $rowB["move_maxy"]; $movemaxz = $rowB["move_maxz"]; $iosnrs[$seriesdate]['studyid'] = $studyid; $iosnrs[$seriesdate]['uid'] = $uid; $iosnrs[$seriesdate]['studynum'] = $studynum; $iosnrs[$seriesdate]['subjectid'] = $subjectid; $iosnrs[$seriesdate]['value']= $iosnr; $pvsnrs[$seriesdate]['studyid'] = $studyid; $pvsnrs[$seriesdate]['uid'] = $uid; $pvsnrs[$seriesdate]['studynum'] = $studynum; $pvsnrs[$seriesdate]['subjectid'] = $subjectid; $pvsnrs[$seriesdate]['value'] = $pvsnr; $motionrsqs[$seriesdate] = $motion_rsq; $moves[$seriesdate]['minx'] = $moveminx; $moves[$seriesdate]['miny'] = $moveminy; $moves[$seriesdate]['minz'] = $moveminz; $moves[$seriesdate]['maxx'] = $movemaxx; $moves[$seriesdate]['maxy'] = $movemaxy; $moves[$seriesdate]['maxz'] = $movemaxz; } } ksort($iosnrs); ksort($pvsnrs); ksort($motionrsqs); ksort($moves); DisplayChart($iosnrs, "IO SNR", 250, 1); DisplayChart($pvsnrs, "PV SNR", 250, 2); DisplayChart($motionrsqs, "Motion r^2", 250, 3); }
function SearchQC(&$result, $s_resultorder, $s_qcbuiltinvariable, $s_qcvariableid) { //PrintSQLTable($result); /* gather scans into longitudinal format */ while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $uid = strtoupper(trim($row['uid'])); $studydate = trim($row['studydate']); $seriesdesc = trim($row['series_desc']); $qc[$seriesdesc][$studydate]['io_snr'] = trim($row['io_snr']); $qc[$seriesdesc][$studydate]['pv_snr'] = trim($row['pv_snr']); $qc[$seriesdesc][$studydate]['move_minx'] = trim($row['move_minx']); $qc[$seriesdesc][$studydate]['move_miny'] = trim($row['move_miny']); $qc[$seriesdesc][$studydate]['move_minz'] = trim($row['move_minz']); $qc[$seriesdesc][$studydate]['move_maxx'] = trim($row['move_maxx']); $qc[$seriesdesc][$studydate]['move_maxy'] = trim($row['move_maxy']); $qc[$seriesdesc][$studydate]['move_maxz'] = trim($row['move_maxz']); $qc[$seriesdesc][$studydate]['totaldispx'] = $row['move_maxx'] - $row['move_minx']; $qc[$seriesdesc][$studydate]['totaldispy'] = $row['move_maxy'] - $row['move_miny']; $qc[$seriesdesc][$studydate]['totaldispz'] = $row['move_maxz'] - $row['move_minz']; $qc[$seriesdesc][$studydate]['motion_rsq'] = trim($row['motion_rsq']); } ksort($qc); //echo "<pre>"; //print_r($qc); //echo "</pre>"; $i = 0; foreach ($qc as $series => $value) { ksort($value); foreach ($value as $date => $vals) { if ($vals['io_snr'] > 0) { $iosnrs[$date]['value'] = $vals['io_snr']; } if ($vals['pv_snr'] > 0) { $pvsnrs[$date]['value'] = $vals['pv_snr']; } if ($vals['totaldispx'] != 0) { $dispx[$date]['value'] = $vals['totaldispx']; } if ($vals['totaldispy'] != 0) { $dispy[$date]['value'] = $vals['totaldispy']; } if ($vals['totaldispz'] != 0) { $dispz[$date]['value'] = $vals['totaldispz']; } } if (count($dispx) > 2 || count($iosnrs) > 2 || count($pvsnrs) > 2) { ?> <table width="100%" style="border: 1px solid #888"> <tr> <td colspan="2"><b>Charts for <?php echo $series; ?> </b></td> </tr> <tr> <td width="50%" valign="top"> <?php if (count($dispx) > 2) { DisplayChart($dispx, $dispy, $dispz, "Total displacement", "X", "Y", "Z", 200, "totaldisp{$i}", 0); } ?> </td> <td width="50%" valign="top"> <?php if (count($iosnrs) > 2) { DisplayChart($iosnrs, "", "", "IO SNR", "SNR", "", "", 200, "iosnr{$i}", 0); } if (count($pvsnrs) > 2) { DisplayChart($pvsnrs, "", "", "PV SNR", "SNR", "", "", 200, "pvsnr{$i}", 0); } ?> </td> </tr> </table> <br> <?php } $dispx = $dispy = $dispz = $iosnr = $pvsnr = ""; $i++; } }