데이터 테이블에서 그림을 만들고 필터를 적용합니다.안녕,
저는 이미지와 유사하고 JMP 필터 ( "반점 제거", "노이즈 감소", ...)를 적용하고 싶은 X / Y / 메트릭 데이터 테이블을 많이 사용합니다. Julia Gong의이 프레젠테이션에 매우 관심이있었습니다. "JMP® 이미지 분석 기능을 사용하여 피부 병변 특성 추출") 그런 다음 데이터 테이블로 다시 변환했습니다. 복잡한 행렬 계산을 수행하는 것보다 데이터를 그림으로 변환 한 후 이러한 종류의 필터를 사용하는 것이 더 쉬운 것 같습니다.
처럼:

예를 들어 노이즈 감소 기능이있는 오른쪽 하단 클러스터를

하지만 내 데이터에서 JMP 이미지 매트릭스를 만드는 방법을 이해하지 못합니다.
예를 들어 아래에 X, Y 및 메트릭이있는 테이블에서 시작하고 첨부 파일로

그때:
dt =current data table();
// the X,Y, metric matrix
mat = (:X << getvalues) || (:Y << getvalues) || (:metric << getvalues);
이 명령은 다음과 같습니다.
img = New Image( "r",{mat});이것도 :
img << Set pixels ("r",{mat});... 일하는 것 같습니다.
이 테이블을 이미지 매트릭스로 변환하고 여기에 JMP 필터를 적용하려면 어떻게해야합니까?
감사!
프랑크
제도법스크립팅Re : 데이터 테이블에서 그림을 만든 다음 jsl 필터를 적용하십시오.다음과 같이해야합니다.
NamesDefaultToHere(1);
dt = Data table("data_table.jmp");
// The values of the metric need to be rescaled to [0, 1]
metric = Column(dt, 3) << getValues;
maxMetric = Max(metric);
minMetric = Min(metric);
metric = (metric - minMetric) :\</img> (maxMetric - minMetric);
// Column vector to hold the pixel values for the image
pixVals = J(NRow(metric), 1, .);
for (p=1, p<=NRow(pixVals), p++,
pixVals[p] = RGB Color(metric[p], metric[p], metric[p]);
);
// Reshape 'pixVals' to be a rectangular matrix (assumes 'X' and 'Y' both start at 1)
xMax = Max(Column(dt, "X") << getValues);
yMax = Max(Column(dt, "Y") << getValues);
pixVals = Shape(pixVals, xMax, yMax);
// Make an image, make it a bit bigger, and put it in a window
im = New Image();
im << setPixels( pixVals );
im << setSize({10*xMax, 8*yMax});
NewWindow("My Image", im);
'도움말> 스크립팅 색인'을 사용하여 코드 작동 방식을 명확히하십시오.
