File: C:/xampp/htdocs/FograPC10/TVI-parsing13.php
<?php
session_start();
///include("functions.php");
$userid=$_SESSION["user_id"];
$username=$_SESSION["username"];
$company=$_SESSION["company"];
echo "Welcome! ".$company;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Fogra39 (M0) TVI Check</title>
<style type="text/css">
<!--
body {
font: 100% Verdana, Arial, Helvetica, sans-serif;
background: #ffffff;
margin: 0; /* 比較好的做法是將 Body 元素的邊界與欄位間隔調整為零,以處理不同的瀏覽器預設值 */
padding: 0;
text-align: center; /* 這樣會讓容器在 IE 5* 瀏覽器內置中對齊。然後,文字會在 #container 選取器中設定為靠左對齊預設值 */
color: #000000;
}
.oneColElsCtr #container {
width: 46em;
background: #FFFFFF;
margin: 0 auto; /* 自動邊界 (搭配寬度) 會讓頁面置中對齊 */
border: 0px solid #000000;
text-align: left; /* 這樣做會覆寫 Body 元素上的 text-align: center。 */
}
.oneColElsCtr #mainContent {
padding: 0 20px; /* 請記住,欄位間隔就是 Div 方塊內部的空間,而邊界就是 Div 方塊外部的空間 */
}
-->
</style></head>
<body class="oneColElsCtr">
<?php
error_reporting(0);
$color= $_POST['color'];
function get_betweenC ($text, $s1, $s2) {
$mid_url = "";
$pos_s = strrpos($text,$s1);
$pos_e = strpos($text,$s2);
for ( $i=$pos_s+strlen($s1) ; (( $i<($pos_e)) && $i < strlen($text)) ; $i++ ) {
$mid_url .= $text[$i];
}
return $mid_url;
}
include 'sp38XYZ.php';
include 'spXYZ.php';
include 'lab2xyz.php';
//include 'SCCA51.php';
include 'xyz2lab01.php';
include 'xyz2lab.php';
include 'DensityV38.php';
include 'DensityV.php';
include 'density395.php';
include 'vXYZ.php';
$f0=0;
$f1=0;
$f2=0;
$f3=0;
$f4=0;
$f5=0;
$f6=0;
$f7=0;
$f8=0;
$f9=0;
$f10=0;
$f11=0;
$f12=0;
$f13=0;
$f14=0;
$f15=0;
$f16=0;
$f17=0;
$f18=0;
$f19=0;
$f20=0;
$f21=0;
$f22=0;
$f23=0;
$f24=0;
$f25=0;
$f26=0;
$f27=0;
$f28=0;
$f29=0;
$f30=0;
$f31=0;
$f32=0;
$f33=0;
$f34=0;
$f35=0;
$f36=0;
function DensitySp38S($V,$s1,$s2,$s3,$s4,$s5,$s6,$s7,$s8,$s9,$s10,$s11,$s12,$s13,$s14,$s15,$s16,$s17,$s18,$s19,$s20,$s21,$s22,$s23,$s24,$s25,$s26,$s27,$s28,$s29,$s30,$s31,$s32,$s33,$s34,$s35,$s36,$ft0,$ft1, $ft2, $ft3, $ft4, $ft5, $ft6, $ft7, $ft8, $ft9, $ft10, $ft11, $ft12, $ft13, $ft14, $ft15, $ft16, $ft17, $ft18, $ft19, $ft20, $ft21, $ft22, $ft23, $ft24, $ft25, $ft26, $ft27, $ft28, $ft29, $ft30, $ft31, $ft32, $ft33, $ft34, $ft35) {
$values=array("34" => 0.0,"35" => 0.0,"36" => 0.0,"37" => 0.0,"38" => $s1,"39" =>$s2,"40" => $s3,"41" => $s4,"42" => $s5,"43" => $s6,"44" => $s7,"45" => $s8,"46" => $s9,"47" => $s10,"48" => $s11,"49" => $s12,"50" => $s13,"51" => $s14,"52" => $s15,"53" => $s16,"54" => $s17,"55" => $s18,"56" => $s19,"57" => $s20,"58" => $s21,"59" => $s22,"60" => $s23,"61" => $s24,"62" => $s25,"63" => $s26,"64" => $s27,"65" => $s28,"66" => $s29,"67" => $s30,"68" => $s31,"69" => $s32,"70" => $s33, "71" => $s34,"72" => $s35,"73" => $s36,"74" => 0.0,"75" => 0.0,"76" => 0.0,"77" => 0.0,"78" => 0.0,"79" => 0.0,"80" => 0.0,"81" => 0.0,"82" => 0.0,"83" => 0.0);
$SpectraU=array(0,0,0,0,$ft0,$ft1, $ft2, $ft3, $ft4, $ft5, $ft6, $ft7, $ft8, $ft9, $ft10, $ft11, $ft12, $ft13, $ft14, $ft15, $ft16, $ft17, $ft18, $ft19, $ft20, $ft21, $ft22, $ft23, $ft24, $ft25, $ft26, $ft27, $ft28, $ft29, $ft30, $ft31, $ft32, $ft33, $ft34, $ft35);
//-LOG10(SUMPRODUCT(AZ2:AZ51,AV2:AV51)/SUM(AV2:AV51)) =-LOG10(SUMPRODUCT(Sample,TT)/SUM(Den_StatusT_R))
$sPSum=0;
$sProduct=0;
if ($V=="U") {
for ( $i = 34; $i <= 83; $i += 1) {
$sProduct=$values[$i]*$SpectraU[$i-34];
$sPSum=$sProduct+$sPSum;}
$sumV=array_sum($SpectraU);}
//$sumduct=$values[40];
$den=-log10($sPSum/($sumV));
return round($den,4);
}
$sum=260;
$check=1;
$dtime=time();
$dStr=substr($dtime,6,9)."-";
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Plate Checking form! " . $color. "<br />";
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
$filename=$dStr.$_FILES["file"]["name"];
//echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
// echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists("upload/" .$dStr. $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ". "<br />";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" .$dStr. $_FILES["file"]["name"]);
$contents = file("upload/".$dStr.$_FILES["file"]["name"]);
$stringC = implode($contents);
$fMark = strrpos($stringC,'i1Profiler');
//echo "fMark:".$fMark."<br>";
$fMarkC = strrpos($stringC,'ColorPort');
//echo "fMarkC:".$fMarkC."<br>";
if ($fMark>0) { ////////////////////////////////////////////////////////////// i1 profiler go 437
$cols=get_betweenC($stringC,"NUMBER_OF_FIELDS",'BEGIN_DATA_FORMAT');
//echo "cols:".$cols."_zz<br>";
//echo $contents[20];
//echo $stringC;
$string = implode($contents);
$p = ereg_replace("\r\n?", "\n", $string);
$p = str_replace("\n", ',', $p);
//echo $p;
function get_between ($text, $s1, $s2) {
$mid_url = "";
$pos_s = strrpos($text,$s1);
$pos_e = strrpos($text,$s2);
for ( $i=$pos_s+strlen($s1) ; (( $i<($pos_e)) && $i < strlen($text)) ; $i++ ) {
$mid_url .= $text[$i];
}
return $mid_url;
}
$datastring=get_between($p,"BEGIN_DATA,",",END_DATA");
$dot = explode("\t", $datastring);
//echo "dot".$dot[6]."<br>";
}
if ($fMarkC>0) { ////////////////////////////////////////////////////////////// ColorPort 400
$cols=get_betweenC($stringC,"NUMBER_OF_FIELDS",'WEIGHTING_FUNCTION ');
//echo "cols:".$cols."_zz<br>";
//echo $contents[20];
//echo $stringC;
$string = implode($contents);
$p = ereg_replace("\r\n?", "\n", $string);
$p = str_replace("\n", ',', $p);
//echo $p;
function get_between ($text, $s1, $s2) {
$mid_url = "";
$pos_s = strrpos($text,$s1);
$pos_e = strrpos($text,$s2);
for ( $i=$pos_s+strlen($s1) ; (( $i<($pos_e)) && $i < strlen($text)) ; $i++ ) {
$mid_url .= $text[$i];
}
return $mid_url;
}
$datastring=get_between($p,"BEGIN_DATA,",",END_DATA");
$dot = explode("\t", $datastring);
//echo "dot".$dot[6]."<br>";
//print_r($dot);
}
?>
<p><p>
<table width="200" border="1" align="center">
<tr>
<td><div align="center">主色</div></td>
<td><font color="#aaaaaa">5%</td>
<td><font color="#aaaaaa">10%</td>
<td><font color="#aaaaaa">15%</td>
<td><font color="#aaaaaa">20%</td>
<td><font color="#aaaaaa">25%</td>
<td><font color="#666666">30%</td>
<td><font color="#666666">35%</td>
<td><font color="#666666">40%</td>
<td><font color="#666666">45%</td>
<td><font color="#666666">50%</td>
<td><font color="#666666">55%</td>
<td><font color="#666666">60%</td>
<td><font color="#666666">65%</td>
<td>70%</td>
<td>75%</td>
<td>80%</td>
<td>85%</td>
<td>90%</td>
<td>95%</td>
</tr>
<?php
//////////////////////////////////////////////////Fogra Media Check
$psum=20;
// $pl=95; $pa=-0.01;$pb=-2;
?>
<?php
if ($fMark>0) { ///////////////////////// i1 profiler
for ( $i = 1; $i <= 19; $i += 1) {
$Pdot=$i;
${'c'.$i.'X'}=sp38XYZ("X",$dot[6+$cols*$Pdot],$dot[6+$cols*$Pdot+1],$dot[6+$cols*$Pdot+2],$dot[6+$cols*$Pdot+3],$dot[6+$cols*$Pdot+4],$dot[6+$cols*$Pdot+5],$dot[6+$cols*$Pdot+6],$dot[6+$cols*$Pdot+7],$dot[6+$cols*$Pdot+8],$dot[6+$cols*$Pdot+9],$dot[6+$cols*$Pdot+10],$dot[6+$cols*$Pdot+11],$dot[6+$cols*$Pdot+12],$dot[6+$cols*$Pdot+13],$dot[6+$cols*$Pdot+14],$dot[6+$cols*$Pdot+15],$dot[6+$cols*$Pdot+16],$dot[6+$cols*$Pdot+17],$dot[6+$cols*$Pdot+18],$dot[6+$cols*$Pdot+19],$dot[6+$cols*$Pdot+20],$dot[6+$cols*$Pdot+21],$dot[6+$cols*$Pdot+22],$dot[6+$cols*$Pdot+23],$dot[6+$cols*$Pdot+24],$dot[6+$cols*$Pdot+25],$dot[6+$cols*$Pdot+26],$dot[6+$cols*$Pdot+27],$dot[6+$cols*$Pdot+28],$dot[6+$cols*$Pdot+29],$dot[6+$cols*$Pdot+30],$dot[6+$cols*$Pdot+31],$dot[6+$cols*$Pdot+32],$dot[6+$cols*$Pdot+33],$dot[6+$cols*$Pdot+34],$dot[6+$cols*$Pdot+35]);
${'c'.$i.'Y'}=sp38XYZ("Y",$dot[6+$cols*$Pdot],$dot[6+$cols*$Pdot+1],$dot[6+$cols*$Pdot+2],$dot[6+$cols*$Pdot+3],$dot[6+$cols*$Pdot+4],$dot[6+$cols*$Pdot+5],$dot[6+$cols*$Pdot+6],$dot[6+$cols*$Pdot+7],$dot[6+$cols*$Pdot+8],$dot[6+$cols*$Pdot+9],$dot[6+$cols*$Pdot+10],$dot[6+$cols*$Pdot+11],$dot[6+$cols*$Pdot+12],$dot[6+$cols*$Pdot+13],$dot[6+$cols*$Pdot+14],$dot[6+$cols*$Pdot+15],$dot[6+$cols*$Pdot+16],$dot[6+$cols*$Pdot+17],$dot[6+$cols*$Pdot+18],$dot[6+$cols*$Pdot+19],$dot[6+$cols*$Pdot+20],$dot[6+$cols*$Pdot+21],$dot[6+$cols*$Pdot+22],$dot[6+$cols*$Pdot+23],$dot[6+$cols*$Pdot+24],$dot[6+$cols*$Pdot+25],$dot[6+$cols*$Pdot+26],$dot[6+$cols*$Pdot+27],$dot[6+$cols*$Pdot+28],$dot[6+$cols*$Pdot+29],$dot[6+$cols*$Pdot+30],$dot[6+$cols*$Pdot+31],$dot[6+$cols*$Pdot+32],$dot[6+$cols*$Pdot+33],$dot[6+$cols*$Pdot+34],$dot[6+$cols*$Pdot+35]);
${'c'.$i.'Z'}=sp38XYZ("Z",$dot[6+$cols*$Pdot],$dot[6+$cols*$Pdot+1],$dot[6+$cols*$Pdot+2],$dot[6+$cols*$Pdot+3],$dot[6+$cols*$Pdot+4],$dot[6+$cols*$Pdot+5],$dot[6+$cols*$Pdot+6],$dot[6+$cols*$Pdot+7],$dot[6+$cols*$Pdot+8],$dot[6+$cols*$Pdot+9],$dot[6+$cols*$Pdot+10],$dot[6+$cols*$Pdot+11],$dot[6+$cols*$Pdot+12],$dot[6+$cols*$Pdot+13],$dot[6+$cols*$Pdot+14],$dot[6+$cols*$Pdot+15],$dot[6+$cols*$Pdot+16],$dot[6+$cols*$Pdot+17],$dot[6+$cols*$Pdot+18],$dot[6+$cols*$Pdot+19],$dot[6+$cols*$Pdot+20],$dot[6+$cols*$Pdot+21],$dot[6+$cols*$Pdot+22],$dot[6+$cols*$Pdot+23],$dot[6+$cols*$Pdot+24],$dot[6+$cols*$Pdot+25],$dot[6+$cols*$Pdot+26],$dot[6+$cols*$Pdot+27],$dot[6+$cols*$Pdot+28],$dot[6+$cols*$Pdot+29],$dot[6+$cols*$Pdot+30],$dot[6+$cols*$Pdot+31],$dot[6+$cols*$Pdot+32],$dot[6+$cols*$Pdot+33],$dot[6+$cols*$Pdot+34],$dot[6+$cols*$Pdot+35]);
${'c'.($i*5).'l'}=xyz2lab01("l",${'c'.$i.'X'},${'c'.$i.'Y'},${'c'.$i.'Z'});
${'c'.($i*5).'a'}=xyz2lab01("a",${'c'.$i.'X'},${'c'.$i.'Y'},${'c'.$i.'Z'});
${'c'.($i*5).'b'}=xyz2lab01("b",${'c'.$i.'X'},${'c'.$i.'Y'},${'c'.$i.'Z'});
//echo "tviC:".${'RTVIc'.($i*5)}."zz";
;}
$Pdot=20;
$C100X=sp38XYZ("X",$dot[6+$cols*$Pdot],$dot[6+$cols*$Pdot+1],$dot[6+$cols*$Pdot+2],$dot[6+$cols*$Pdot+3],$dot[6+$cols*$Pdot+4],$dot[6+$cols*$Pdot+5],$dot[6+$cols*$Pdot+6],$dot[6+$cols*$Pdot+7],$dot[6+$cols*$Pdot+8],$dot[6+$cols*$Pdot+9],$dot[6+$cols*$Pdot+10],$dot[6+$cols*$Pdot+11],$dot[6+$cols*$Pdot+12],$dot[6+$cols*$Pdot+13],$dot[6+$cols*$Pdot+14],$dot[6+$cols*$Pdot+15],$dot[6+$cols*$Pdot+16],$dot[6+$cols*$Pdot+17],$dot[6+$cols*$Pdot+18],$dot[6+$cols*$Pdot+19],$dot[6+$cols*$Pdot+20],$dot[6+$cols*$Pdot+21],$dot[6+$cols*$Pdot+22],$dot[6+$cols*$Pdot+23],$dot[6+$cols*$Pdot+24],$dot[6+$cols*$Pdot+25],$dot[6+$cols*$Pdot+26],$dot[6+$cols*$Pdot+27],$dot[6+$cols*$Pdot+28],$dot[6+$cols*$Pdot+29],$dot[6+$cols*$Pdot+30],$dot[6+$cols*$Pdot+31],$dot[6+$cols*$Pdot+32],$dot[6+$cols*$Pdot+33],$dot[6+$cols*$Pdot+34],$dot[6+$cols*$Pdot+35]);
$C100Y=sp38XYZ("Y",$dot[6+$cols*$Pdot],$dot[6+$cols*$Pdot+1],$dot[6+$cols*$Pdot+2],$dot[6+$cols*$Pdot+3],$dot[6+$cols*$Pdot+4],$dot[6+$cols*$Pdot+5],$dot[6+$cols*$Pdot+6],$dot[6+$cols*$Pdot+7],$dot[6+$cols*$Pdot+8],$dot[6+$cols*$Pdot+9],$dot[6+$cols*$Pdot+10],$dot[6+$cols*$Pdot+11],$dot[6+$cols*$Pdot+12],$dot[6+$cols*$Pdot+13],$dot[6+$cols*$Pdot+14],$dot[6+$cols*$Pdot+15],$dot[6+$cols*$Pdot+16],$dot[6+$cols*$Pdot+17],$dot[6+$cols*$Pdot+18],$dot[6+$cols*$Pdot+19],$dot[6+$cols*$Pdot+20],$dot[6+$cols*$Pdot+21],$dot[6+$cols*$Pdot+22],$dot[6+$cols*$Pdot+23],$dot[6+$cols*$Pdot+24],$dot[6+$cols*$Pdot+25],$dot[6+$cols*$Pdot+26],$dot[6+$cols*$Pdot+27],$dot[6+$cols*$Pdot+28],$dot[6+$cols*$Pdot+29],$dot[6+$cols*$Pdot+30],$dot[6+$cols*$Pdot+31],$dot[6+$cols*$Pdot+32],$dot[6+$cols*$Pdot+33],$dot[6+$cols*$Pdot+34],$dot[6+$cols*$Pdot+35]);
$C100Z=sp38XYZ("Z",$dot[6+$cols*$Pdot],$dot[6+$cols*$Pdot+1],$dot[6+$cols*$Pdot+2],$dot[6+$cols*$Pdot+3],$dot[6+$cols*$Pdot+4],$dot[6+$cols*$Pdot+5],$dot[6+$cols*$Pdot+6],$dot[6+$cols*$Pdot+7],$dot[6+$cols*$Pdot+8],$dot[6+$cols*$Pdot+9],$dot[6+$cols*$Pdot+10],$dot[6+$cols*$Pdot+11],$dot[6+$cols*$Pdot+12],$dot[6+$cols*$Pdot+13],$dot[6+$cols*$Pdot+14],$dot[6+$cols*$Pdot+15],$dot[6+$cols*$Pdot+16],$dot[6+$cols*$Pdot+17],$dot[6+$cols*$Pdot+18],$dot[6+$cols*$Pdot+19],$dot[6+$cols*$Pdot+20],$dot[6+$cols*$Pdot+21],$dot[6+$cols*$Pdot+22],$dot[6+$cols*$Pdot+23],$dot[6+$cols*$Pdot+24],$dot[6+$cols*$Pdot+25],$dot[6+$cols*$Pdot+26],$dot[6+$cols*$Pdot+27],$dot[6+$cols*$Pdot+28],$dot[6+$cols*$Pdot+29],$dot[6+$cols*$Pdot+30],$dot[6+$cols*$Pdot+31],$dot[6+$cols*$Pdot+32],$dot[6+$cols*$Pdot+33],$dot[6+$cols*$Pdot+34],$dot[6+$cols*$Pdot+35]);
$c100l=xyz2lab01("l",$C100X,$C100Y,$C100Z);
$c100a=xyz2lab01("a",$C100X,$C100Y,$C100Z);
$c100b=xyz2lab01("b",$C100X,$C100Y,$C100Z);
}/////////////mark profiler
if ($fMarkC>0) { /////////////////////////////color port
if ($cols<>40){ ////////////////////////////////////////////////////////cp 380
$Pdot=20;
$avalues=array($dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30],$dot[9+$cols*$Pdot-$Pdot+31],$dot[9+$cols*$Pdot-$Pdot+32],$dot[9+$cols*$Pdot-$Pdot+33],$dot[9+$cols*$Pdot-$Pdot+34],$dot[9+$cols*$Pdot-$Pdot+35]);
//$min_value_key=array_keys($avalues, max($avalues));
//echo "<br>Check:".$min_value_key;
// $Pdot=20;
//$c100d=DensitySp38("C",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30],$dot[9+$cols*$Pdot-$Pdot+31],$dot[9+$cols*$Pdot-$Pdot+32],$dot[9+$cols*$Pdot-$Pdot+33],$dot[9+$cols*$Pdot-$Pdot+34],$dot[9+$cols*$Pdot-$Pdot+35]);
$min = min($avalues);
$index = array_search($min, $avalues);
//echo "<br>min Check:".$index;
$max = max($avalues);
$mindex = array_search($max, $avalues);
//echo "<br>max Check:".$mindex;
$nm=380+$mindex*10;
if ($index>17) {
$fn=$index;}
else {
$fn=$index;}
${'f'.$fn}=14.0388;
$uvD=DensitySp38S("U",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30],$dot[9+$cols*$Pdot-$Pdot+31],$dot[9+$cols*$Pdot-$Pdot+32],$dot[9+$cols*$Pdot-$Pdot+33],$dot[9+$cols*$Pdot-$Pdot+34],$dot[9+$cols*$Pdot-$Pdot+35],$f0,$f1, $f2, $f3, $f4, $f5, $f6, $f7, $f8, $f9, $f10, $f11, $f12, $f13, $f14, $f15, $f16, $f17, $f18, $f19, $f20, $f21, $f22, $f23, $f24, $f25, $f26, $f27, $f28, $f29, $f30, $f31, $f32, $f33, $f34, $f35);
$Pdot=0;
$PXm=sp38XYZ("X",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30],$dot[9+$cols*$Pdot-$Pdot+31],$dot[9+$cols*$Pdot-$Pdot+32],$dot[9+$cols*$Pdot-$Pdot+33],$dot[9+$cols*$Pdot-$Pdot+34],$dot[9+$cols*$Pdot-$Pdot+35]);
$PYm=sp38XYZ("Y",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30],$dot[9+$cols*$Pdot-$Pdot+31],$dot[9+$cols*$Pdot-$Pdot+32],$dot[9+$cols*$Pdot-$Pdot+33],$dot[9+$cols*$Pdot-$Pdot+34],$dot[9+$cols*$Pdot-$Pdot+35]);
$PZm=sp38XYZ("Z",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30],$dot[9+$cols*$Pdot-$Pdot+31],$dot[9+$cols*$Pdot-$Pdot+32],$dot[9+$cols*$Pdot-$Pdot+33],$dot[9+$cols*$Pdot-$Pdot+34],$dot[9+$cols*$Pdot-$Pdot+35]);
$Pdot=0;
$p0d=DensitySp38("C",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30],$dot[9+$cols*$Pdot-$Pdot+31],$dot[9+$cols*$Pdot-$Pdot+32],$dot[9+$cols*$Pdot-$Pdot+33],$dot[9+$cols*$Pdot-$Pdot+34],$dot[9+$cols*$Pdot-$Pdot+35]);
echo "p0d=".$p0d."<br>";
$Pdot=20;
$c100d=DensitySp38("C",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30],$dot[9+$cols*$Pdot-$Pdot+31],$dot[9+$cols*$Pdot-$Pdot+32],$dot[9+$cols*$Pdot-$Pdot+33],$dot[9+$cols*$Pdot-$Pdot+34],$dot[9+$cols*$Pdot-$Pdot+35]);
$SXm=sp38XYZ("X",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30],$dot[9+$cols*$Pdot-$Pdot+31],$dot[9+$cols*$Pdot-$Pdot+32],$dot[9+$cols*$Pdot-$Pdot+33],$dot[9+$cols*$Pdot-$Pdot+34],$dot[9+$cols*$Pdot-$Pdot+35]);
$SYm=sp38XYZ("Y",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30],$dot[9+$cols*$Pdot-$Pdot+31],$dot[9+$cols*$Pdot-$Pdot+32],$dot[9+$cols*$Pdot-$Pdot+33],$dot[9+$cols*$Pdot-$Pdot+34],$dot[9+$cols*$Pdot-$Pdot+35]);
$SZm=sp38XYZ("Z",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30],$dot[9+$cols*$Pdot-$Pdot+31],$dot[9+$cols*$Pdot-$Pdot+32],$dot[9+$cols*$Pdot-$Pdot+33],$dot[9+$cols*$Pdot-$Pdot+34],$dot[9+$cols*$Pdot-$Pdot+35]);
$Sl=xyz2lab01("l",$SXm,$SYm,$SZm);
$Sa=xyz2lab01("a",$SXm,$SYm,$SZm);
$Sb=xyz2lab01("b",$SXm,$SYm,$SZm);
//echo "dot[]=".$dot[9+$cols*$Pdot]."-".(9+$cols*$Pdot)."<br>";
echo "c100d=".$c100d."<br>";
for ( $i = 1; $i <= 19; $i += 1) {////C
$Pdot=$i;
${'c'.$i.'X'}=sp38XYZ("X",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30],$dot[9+$cols*$Pdot-$Pdot+31],$dot[9+$cols*$Pdot-$Pdot+32],$dot[9+$cols*$Pdot-$Pdot+33],$dot[9+$cols*$Pdot-$Pdot+34],$dot[9+$cols*$Pdot-$Pdot+35]);
${'c'.$i.'Y'}=sp38XYZ("Y",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30],$dot[9+$cols*$Pdot-$Pdot+31],$dot[9+$cols*$Pdot-$Pdot+32],$dot[9+$cols*$Pdot-$Pdot+33],$dot[9+$cols*$Pdot-$Pdot+34],$dot[9+$cols*$Pdot-$Pdot+35]);
${'c'.$i.'Z'}=sp38XYZ("Z",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30],$dot[9+$cols*$Pdot-$Pdot+31],$dot[9+$cols*$Pdot-$Pdot+32],$dot[9+$cols*$Pdot-$Pdot+33],$dot[9+$cols*$Pdot-$Pdot+34],$dot[9+$cols*$Pdot-$Pdot+35]);
${'c'.($i*5).'l'}=xyz2lab01("l",${'c'.$i.'X'},${'c'.$i.'Y'},${'c'.$i.'Z'});
${'c'.($i*5).'a'}=xyz2lab01("a",${'c'.$i.'X'},${'c'.$i.'Y'},${'c'.$i.'Z'});
${'c'.($i*5).'b'}=xyz2lab01("b",${'c'.$i.'X'},${'c'.$i.'Y'},${'c'.$i.'Z'});
${'c'.($i*5).'d'}=DensitySp38("C",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30],$dot[9+$cols*$Pdot-$Pdot+31],$dot[9+$cols*$Pdot-$Pdot+32],$dot[9+$cols*$Pdot-$Pdot+33],$dot[9+$cols*$Pdot-$Pdot+34],$dot[9+$cols*$Pdot-$Pdot+35]);
//${'c'.($i*5).'dv'}=(((1-(pow(10,(-(${'c'.($i*5).'d'}-$p0d)))))/(1-(pow(10,(-($c100d-$p0d)))))))*100;
${'c'.($i*5).'dv'}=100*pow(((pow((${'c'.$i.'X'}-$PXm),2)+pow((${'c'.$i.'Y'}-$PYm),2)+pow((${'c'.$i.'Z'}-$PZm),2))/(pow(($SXm-$PXm),2)+pow(($SYm-$PYm),2)+pow(($SZm-$PZm),2))),0.5);
//$sctv=100*pow(((pow(($StXm-$PXm),2)+pow(($StYm-$PYm),2)+pow(($StZm-$PZm),2))/(pow(($SXm-$PXm),2)+pow(($SYm-$PYm),2)+pow(($SZm-$PZm),2))),0.5);
//echo "dC".($i*5).":".${'c'.($i*5).'d'}."zz";
//echo "dv".($i*5).":".${'c'.($i*5).'dv'}."zz<br>";
;}
//$sctv=100*pow(((pow(($StXm-$PXm),2)+pow(($StYm-$PYm),2)+pow(($StZm-$PZm),2))/(pow(($SXm-$PXm),2)+pow(($SYm-$PYm),2)+pow(($SZm-$PZm),2))),0.5);
}
else { ////////////////////////////////////////////////////////cp 400
$Pdot=20;
$avalues=array($dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30]);
//$min_value_key=array_keys($avalues, max($avalues));
//echo "<br>Check:".$min_value_key;
$min = min($avalues);
$index = array_search($min, $avalues);
//echo "<br>min Check:".$index;
$max = max($avalues);
$mindex = array_search($max, $avalues);
//echo "<br>max Check:".$mindex;
$nm=400+$mindex*10;
if ($index>17) {
$fn=$index;}
else {
$fn=$index;}
${'f'.$fn}=14.0388;
$Pdot=0;
$p0d=DensitySp("C",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30]);
//echo "dot[]=".$dot[9+$cols*$Pdot-$Pdot]."-".(9+$cols*$Pdot-$Pdot)."<br>";
echo "p0d=".$p0d."<br>";
$PXm=sp38XYZ("X",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30]);
$PYm=sp38XYZ("Y",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30]);
$PZm=sp38XYZ("Z",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30]);
$Pdot=20;
$c100d=DensitySp("C",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30]);
$SXm=sp38XYZ("X",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30]);
$SYm=sp38XYZ("Y",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30]);
$SZm=sp38XYZ("Z",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30]);
$Sl=xyz2lab01("l",$SXm,$SYm,$SZm);
$Sa=xyz2lab01("a",$SXm,$SYm,$SZm);
$Sb=xyz2lab01("b",$SXm,$SYm,$SZm);
// echo "dot[]=".$dot[9+$cols*$Pdot-$Pdot]."-".(9+$cols*$Pdot-$Pdot)."<br>";
echo "c100d=".$c100d."<br>";
for ( $i = 1; $i <= 19; $i += 1) {////C
$Pdot=$i;
${'c'.$i.'X'}=spXYZ("X",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30]);
${'c'.$i.'Y'}=spXYZ("Y",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30]);
${'c'.$i.'Z'}=spXYZ("Z",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30]);
${'c'.($i*5).'l'}=xyz2lab01("l",${'c'.$i.'X'},${'c'.$i.'Y'},${'c'.$i.'Z'});
${'c'.($i*5).'a'}=xyz2lab01("a",${'c'.$i.'X'},${'c'.$i.'Y'},${'c'.$i.'Z'});
${'c'.($i*5).'b'}=xyz2lab01("b",${'c'.$i.'X'},${'c'.$i.'Y'},${'c'.$i.'Z'});
${'c'.($i*5).'d'}=DensitySp("C",$dot[9+$cols*$Pdot-$Pdot],$dot[9+$cols*$Pdot-$Pdot+1],$dot[9+$cols*$Pdot-$Pdot+2],$dot[9+$cols*$Pdot-$Pdot+3],$dot[9+$cols*$Pdot-$Pdot+4],$dot[9+$cols*$Pdot-$Pdot+5],$dot[9+$cols*$Pdot-$Pdot+6],$dot[9+$cols*$Pdot-$Pdot+7],$dot[9+$cols*$Pdot-$Pdot+8],$dot[9+$cols*$Pdot-$Pdot+9],$dot[9+$cols*$Pdot-$Pdot+10],$dot[9+$cols*$Pdot-$Pdot+11],$dot[9+$cols*$Pdot-$Pdot+12],$dot[9+$cols*$Pdot-$Pdot+13],$dot[9+$cols*$Pdot-$Pdot+14],$dot[9+$cols*$Pdot-$Pdot+15],$dot[9+$cols*$Pdot-$Pdot+16],$dot[9+$cols*$Pdot-$Pdot+17],$dot[9+$cols*$Pdot-$Pdot+18],$dot[9+$cols*$Pdot-$Pdot+19],$dot[9+$cols*$Pdot-$Pdot+20],$dot[9+$cols*$Pdot-$Pdot+21],$dot[9+$cols*$Pdot-$Pdot+22],$dot[9+$cols*$Pdot-$Pdot+23],$dot[9+$cols*$Pdot-$Pdot+24],$dot[9+$cols*$Pdot-$Pdot+25],$dot[9+$cols*$Pdot-$Pdot+26],$dot[9+$cols*$Pdot-$Pdot+27],$dot[9+$cols*$Pdot-$Pdot+28],$dot[9+$cols*$Pdot-$Pdot+29],$dot[9+$cols*$Pdot-$Pdot+30]);
$vxs=xyz2V('x',$SXm,$SYm,$SZm);
$vys=xyz2V('y',$SXm,$SYm,$SZm);
$vzs=xyz2V('z',$SXm,$SYm,$SZm);
$vtxs=xyz2V('x', ${'c'.$i.'X'},${'c'.$i.'Y'},${'c'.$i.'Z'});
$vtys=xyz2V('y', ${'c'.$i.'X'},${'c'.$i.'Y'},${'c'.$i.'Z'});
$vtzs=xyz2V('z', ${'c'.$i.'X'},${'c'.$i.'Y'},${'c'.$i.'Z'});
$vxp=xyz2V('x',$PXm,$PYm,$PZm);
$vyp=xyz2V('y',$PXm,$PYm,$PZm);
$vzp=xyz2V('z',$PXm,$PYm,$PZm);
//${'c'.($i*5).'dv'}=(((1-(pow(10,(-(${'c'.($i*5).'d'}-$p0d)))))/(1-(pow(10,(-($c100d-$p0d)))))))*100;
${'c'.($i*5).'dv'}=100*pow(((pow(($vtxs-$vxp),2)+pow(($vtys-$vyp),2)+pow(($vtzs-$vzp),2))/(pow(($vxs-$vxp),2)+pow(($vys-$vyp),2)+pow(($vzs-$vzp),2))),0.5);
//echo "dC".($i*5).":".${'c'.($i*5).'d'}."zz";
//echo "dv".($i*5).":".${'c'.($i*5).'dv'}."zz<br>";
;}
}/////////////////cp 400
} /////////////mark colorport
if ($color=='C') {
$ftcolor="#7effff";}
elseif ($color=='M') {
$ftcolor="#ff88ff";}
elseif ($color=='Y') {
$ftcolor="#ffff66";}
elseif ($color=='K') {
$ftcolor="#cccccc";}
?>
<!--
<tr>
<td bgcolor="<?php echo $ftcolor; ?>"><div align="center"></div></td>
<?php //////////////////////////////////////////C
for ( $t = 5; $t <= 95; $t += 5) {
//
?><td bgcolor="<?php echo $ftcolor; ?>"><div align="right"><?php
echo round(${'c'.($t).'dv'},2);
?> </td><?php
}
?>
</tr>
-->
<br>
<tr>
<td bgcolor="<?php echo $ftcolor; ?>"><div align="center"></div></td>
<td bgcolor="<?php echo $ftcolor; ?>"><div align="right"><?php echo round($c5dv-0.38,2); $c5dv=$c5dv-0.38; ?> </td>
<td bgcolor="<?php echo $ftcolor; ?>"><div align="right"><?php echo round($c10dv-0.7,2); $c10dv=$c10dv-0.7; ?> </td>
<td bgcolor="<?php echo $ftcolor; ?>"><div align="right"><?php echo round($c15dv-1.02,2); $c15dv=$c15dv-1.02; ?> </td>
<td bgcolor="<?php echo $ftcolor; ?>"><div align="right"><?php echo round($c20dv-1.28,2); $c20dv=$c20dv-1.28; ?> </td>
<td bgcolor="<?php echo $ftcolor; ?>"><div align="right"><?php echo round($c25dv-1.5,2); $c25dv=$c25dv-1.5; ?> </td>
<td bgcolor="<?php echo $ftcolor; ?>"><div align="right"><?php echo round($c30dv-1.68,2); $c30dv=$c30dv-1.68; ?> </td>
<td bgcolor="<?php echo $ftcolor; ?>"><div align="right"><?php echo round($c35dv-1.82,2); $c35dv=$c35dv-1.82; ?> </td>
<td bgcolor="<?php echo $ftcolor; ?>"><div align="right"><?php echo round($c40dv-1.92,2); $c40dv=$c40dv-1.92; ?> </td>
<td bgcolor="<?php echo $ftcolor; ?>"><div align="right"><?php echo round($c45dv-1.98,2); $c45dv=$c45dv-1.98; ?> </td>
<td bgcolor="<?php echo $ftcolor; ?>"><div align="right"><?php echo round($c50dv-2,2); $c50dv=$c50dv-2; ?> </td>
<td bgcolor="<?php echo $ftcolor; ?>"><div align="right"><?php echo round($c55dv-1.98,2); $c55dv=$c55dv-1.98; ?> </td>
<td bgcolor="<?php echo $ftcolor; ?>"><div align="right"><?php echo round($c60dv-1.92,2); $c60dv=$c60dv-1.92; ?> </td>
<td bgcolor="<?php echo $ftcolor; ?>"><div align="right"><?php echo round($c65dv-1.82,2); $c65dv=$c65dv-1.82; ?> </td>
<td bgcolor="<?php echo $ftcolor; ?>"><div align="right"><?php echo round($c70dv-1.68,2); $c70dv=$c70dv-1.68; ?> </td>
<td bgcolor="<?php echo $ftcolor; ?>"><div align="right"><?php echo round($c75dv-1.5,2); $c75dv=$c75dv-1.5; ?> </td>
<td bgcolor="<?php echo $ftcolor; ?>"><div align="right"><?php echo round($c80dv-1.28,2); $c80dv=$c80dv-1.28; ?> </td>
<td bgcolor="<?php echo $ftcolor; ?>"><div align="right"><?php echo round($c85dv-1.02,2); $c85dv=$c85dv-1.02; ?> </td>
<td bgcolor="<?php echo $ftcolor; ?>"><div align="right"><?php echo round($c90dv-0.7,2); $c90dv=$c90dv-0.7; ?> </td>
<td bgcolor="<?php echo $ftcolor; ?>"><div align="right"><?php echo round($c95dv-0.38,2); $c95dv=$c95dv-0.38; ?> </td>
</tr>
<br>
<table width="200" border="1" align="center">
<tr>
<td><div align="center">
<?php // content="text/plain; charset=utf-8"
$gfname= $company."-";
require_once ('../jpgraph/jpgraph.php');
require_once ('../jpgraph/jpgraph_line.php');
unlink('scatterDR.png');
$datay1 = array(0,round($c5dv,2),round($c10dv,2),round($c15dv,2),round($c20dv,2),round($c25dv,2),round($c30dv,2),round($c35dv,2),round($c40dv,2),round($c45dv,2),round($c50dv,2),round($c55dv,2),round($c60dv,2),round($c65dv,2),round($c70dv,2),round($c75dv,2),round($c80dv,2),round($c85dv,2),round($c90dv,2),round($c95dv,2),100);
$datay2 = array(0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100);
// Setup the graph
$graph = new Graph(550,430);
$graph->SetScale("textlin");
$theme_class= new UniversalTheme;
$graph->SetTheme($theme_class);
$graph->title->Set('Tone Curve');
$graph->SetBox(false);
$graph->yaxis->HideZeroLabel();
$graph->yaxis->HideLine(false);
$graph->yaxis->HideTicks(false,false);
$graph->xaxis->SetTickLabels(array('0','5','10','15','20','25','30','35','40','45','50','55','60','65','70','75','80','85','90','95','100'));
$graph->ygrid->SetFill(false);
//$graph->SetBackgroundImage("tiger_bkg.png",BGIMG_FILLFRAME);
$p1 = new LinePlot($datay1);
$graph->Add($p1);
$p2 = new LinePlot($datay2);
$graph->Add($p2);
$ADR=$c21l-$a21l;
$BDR=$ct21l-$at21l;
$p1->SetColor("red");
$p1->SetLegend('Measured='. $ADR);
$p1->mark->SetType(MARK_FILLEDCIRCLE,'',1.0);
$p1->mark->SetColor('red');
$p1->mark->SetFillColor('red');
$p1->SetCenter();
$p2->SetColor("#aaaaaa");
$p2->SetLegend('Line='. $BDR);
$p2->mark->SetType(MARK_UTRIANGLE,'',1.0);
$p2->mark->SetColor('#aaaaaa');
$p2->mark->SetFillColor('#aaaaaa');
$p2->value->SetMargin(14);
$p2->SetCenter();
$graph->legend->SetFrameWeight(1);
$graph->legend->SetColor('#4E4E4E','#00A78A');
$graph->legend->SetMarkAbsSize(8);
// Output line
$graph->Stroke("./graph/".$gfname."scatterDR.png");
?>
<img src="./graph/<?php echo $gfname;?>scatterDR.png?nocache=<?php echo time(); ?>">
</div></td></tr>
</table>
<?php
$Tsum=(($sum/260)*60)+(($psum/20)*40);
$Rsum=round($Tsum,2);
if (($check==0) && ($sid==0)){
$passbit=1;}
if(!empty($_SERVER['HTTP_CLIENT_IP'])){
$myip = $_SERVER['HTTP_CLIENT_IP'];
}else if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
$myip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}else{
$myip= $_SERVER['REMOTE_ADDR'];
}
$T50=round($c50dv,4);
$T5=round($c5dv,4);
$T10=round($c10dv,4);
$T15=round($c15dv,4);
$T20=round($c20dv,4);
$T25=round($c25dv,4);
$T30=round($c30dv,4);
$T35=round($c35dv,4);
$T40=round($c40dv,4);
$T45=round($c45dv,4);
$T55=round($c55dv,4);
$T60=round($c60dv,4);
$T65=round($c65dv,4);
$T70=round($c70dv,4);
$T75=round($c75dv,4);
$T80=round($c80dv,4);
$T85=round($c85dv,4);
$T90=round($c90dv,4);
$T95=round($c95dv,4);
if(!empty($_SERVER['HTTP_CLIENT_IP'])){
$myip = $_SERVER['HTTP_CLIENT_IP'];
}else if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
$myip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}else{
$myip= $_SERVER['REMOTE_ADDR'];
}
require_once( 'PolynomialRegression.php' );
$data =
array
(
array( 0.00, 0.0 ), array( 25, $c25dv ),
array( 50, $c50dv ), array( 75, $c75dv ),
array( 100, 100 )
);
// Precision digits in BC math.
bcscale( 10 );
// Start a regression class of order 2--linear regression.
$leastSquareRegression = new PolynomialRegression( 2 );
// Add all the data to the regression analysis.
foreach ( $data as $dataPoint )
$leastSquareRegression->addData( $dataPoint[ 0 ], $dataPoint[ 1 ] );
// Get coefficients for the polynomial.
$coefficients = $leastSquareRegression->getCoefficients();
// Print slope and intercept of linear regression.
echo "Slope : " . round( $coefficients[ 1 ], 2 ) . "<br />\n";
echo "Y-intercept : " . round( $coefficients[ 0 ], 2 ) . "<br />\n";
//
// Get average of Y-data.
//
$Y_Average = 0.0;
foreach ( $data as $dataPoint )
$Y_Average += $dataPoint[ 1 ];
$Y_Average /= count( $data );
//
// Calculate R Squared.
//
$Y_MeanSum = 0.0;
$Y_ErrorSum = 0.0;
foreach ( $data as $dataPoint )
{
$x = $dataPoint[ 0 ];
$y = $dataPoint[ 1 ];
$error = $y;
$error -= $leastSquareRegression->interpolate( $coefficients, $x );
$Y_ErrorSum += $error * $error;
$error = $y;
$error -= $Y_Average;
$Y_MeanSum += $error * $error;
}
$R_Squared = 1.0 - ( $Y_ErrorSum / $Y_MeanSum );
echo "R Squared : $R_Squared<br />\n";
$connection = mysql_connect("localhost:3306", "pbn", "fredsql5697") or die ("Unable to connect!");
mysql_query("SET NAMES 'utf8'");
$db = "pbn_db";
// select database
mysql_select_db($db) or die ("Unable to select database!");
// generate and execute query
$query = "INSERT INTO platecv(company, dns, contact, email, color, po, filename, T95,T90,T85,T80,T75,T70,T65,T60,T55,T45,T40,T35,T30,T25,T20,T15,T10,T5,T50,score, passbit, date, device, dsn, printer, paper, ink, rankbit,p0d,c100d,rsq) VALUES('$company', '$myip', '$contact', '$email', '$color', '$po','$filename','$T95','$T90','$T85','$T80','$T75','$T70','$T65','$T60','$T55','$T45','$T40','$T35','$T30','$T25','$T20','$T15','$T10','$T5','$T50','$Rsum', '$passbit', NOW(), '$device', '$myip', '$press', '$paper', '$ink', '$rankbit', '$p0d', '$c100d','$R_Squared')";
//echo $query;
$result = mysql_query($query) or die ("Error in query: $query. " . mysql_error());
mysql_close($connection);
}} ?>
<tr>
<td align="center">TVI Score=<?php echo round($sum,2);?></a><br>
</td>
</tr>
<tr>
<td align="center">Primaries color score=<?php echo round($psum,2);?></a><br>
</td>
</tr>
<tr>
<td align="center">Total score=<?php echo round($Tsum,2);?></a><br>
</td>
</tr>
<tr>
<td align="center"> <a href="rank.php">Report</a><br>
</td>
<td align="center"> <a href="index.htm">MainPage</a><br>
</td>
</tr
<tr>
<td align="center"><font size="-2"> © <a href="mailto:[email protected]">Fred Kuo</a>, 2014. All rights reserved.<br><a href="http://www.fredkuo.idv.tw/wordpress/?p=1025">Read more.</a><br>
</td>
</tr>
</body>
</html>