JMP에서 코끼리 발의 이미지 분석이것은 코끼리 발의 바닥 사진입니다. 이 그림을 보면서 짐작할 수 있듯이 이것은 매우 행복한 코끼리가 아닙니다. 포로 생활을하는 코끼리는 종종 포장 도로 또는 다른 단단한 표면을 걷는 데 시간을 보냅니다. 이것은 그들이 익숙한 기질이 아니며, 코끼리의 발이 설계된 것이 아닙니다. 결과적으로,이 코끼리는 발바닥에 염증이 생기고 어떤 경우에는 그 염증이 감염되기도합니다. 이 코끼리를 돌보는 관리인이 치료를 제공하지만 코끼리가 발에 계속 걸려 더 많은 손상을 입습니다. 치료사가 전혀 도움이되는지 궁금해합니다.

나는 이미지 분석에 관한이 질문과 함께이 사진의 사본을 받았다. 시간이 지남에 따라 치료가 긍정적 인 영향을 미치는지 여부를 판단 할 수 있도록 발의 상태를 양적으로 측정 할 수있는 방법이 있습니까?
이미지를 보면 발의 모든 영역이 기본적으로 다음 세 가지 범주 중 하나에 속하는 것을 볼 수 있습니다.
코끼리의 발의 정상적인 색을 나타내는, 갈색을 띠는 부분이 있습니다. 그 지역은 건강합니다.주황색의 그늘이있는 부분이 있습니다. 저것은 염증을 개발 한 지역이다.다음에 염증 부위에 희끄무레 한 부분이 있습니다. 그것들은 그 염증이 감염으로 발전하고 이제는 마약으로 가득차있는 곳입니다.전체 발을이 세 버킷으로 분류하면 발의 상태를 측정 할 수 있다고 느꼈습니다. 배경을 무시하는 것이 중요합니다. 즉, 이미지에서 발바닥을 보이지 않는 영역을 무시하면 결과가 왜곡되지 않습니다.
이미지를 JSL (JMP Scripting Language)로 읽고 이미지에서 픽셀 값을 다음과 같이 얻었습니다. 빨간 , 녹색 과 푸른 ( RGB ) 값을 별도의 행렬로 나타냅니다. 그런 다음이 개별 행렬을 하나의 행렬로 변환하여 세 가지 색상 구성 요소를 모두 나타낼 수 있습니다.
img = newImage ( "elephantFoot.jpg" );
{r, g, b} = img << getPixels ( "rgb" );
colr = RGBColor (r, g, b);
그러나 종종 RGB가 아닌 다른 색 구성표에서 색을 분석하는 것이 좋습니다. 그래서 저는 정말 색 구성표의 색을 원합니다. HLS , 이는 색조 , 가벼움 과 포화 . 색조는 기본적으로 색조의 색조이고 밝기는 밝기이며 채도는 얼마나 많은 흰색과 반대로 얼마나 많은 색이 있는지입니다. 다행히 JMP는 RGB에서 HLS로 변환하는 방법을 제공합니다.
{hue, lit, sat} = ColorToHLS (colr);
이제 HLS에서 색상을 지정 했으므로 픽셀 값의 JMP 데이터 테이블을 만들 수 있습니다.
dt = 새 테이블 ( "픽셀 데이터" ,
newColumn ( "색조" , 설정 값 (색조)),
newColumn ( "문학" , 설정 값 (점등)),
newColumn ( "토" , 설정 값 (sat))
);
이렇게하는 이유는 JMP의 통계 능력을 사용하여 데이터를 분석 할 수 있기 때문입니다. 내 색상 값이 붕괴 된 것에 대해 궁금해서 분포 각각의 색상 성분의
배포 (연속 배포 ( 기둥 (: 색조), 이상치 상자 플롯 ( 0 ))));
배포 (연속 배포 ( 기둥 (: 켜짐), 이상치 상자 플롯 ( 0 ))));
배포 (연속 배포 ( 기둥 (: sat), 이상치 박스 플롯 ( 0 ))));
결과는 다음과 같습니다.

내 배포판을 보면 내 데이터에서 어떤 픽셀이 갈색, 주황색 또는 흰색인지 식별 할 수있는 값을 파악할 수 있습니다. 내 데이터 테이블의 데이터 행으로 표시된 각 픽셀을 처리하고 각 데이터를 분류 할 수 있습니다. 그런 다음 결과들 .

보고서를 생성하기 위해 누락 된 모든 값 (배경 영역을 나타내는 모든 픽셀)을 선택하고 숨기기 / 제외로 설정했습니다. 그런 다음 픽셀 데이터 테이블에서 요약 테이블을 생성했습니다. 그래프 빌더를 사용하여 그래프를 생성 할 수 있습니다.
결과적으로 발의 절반 정도가 양호한 상태입니다. 정상적이지 않은 절반의 경우, 약 30 %가 염증을 일으키고 다른 20 %는 감염됩니다. 우리는 이제 발의 상태를 정량화 할 수있는 척도를 가지고 있습니다. 시간이지 나면서 이것을함으로써, 우리는 발의 상태를 결정하고 치료가 도움이되는지 여부를 알 수 있습니다.
코끼리 발의 이미지가 나에게 찾아왔다. WildTrack . WildTrack은 멸종 위기 종의 보존뿐만 아니라 야생 동물의 전반적인 복지에 전념하고 있습니다.
WildTrack은 곧 출시 될 웹 캐스트에 소개 될 JMP 고객이며, 분석적 말하기 . 이 블로그 게시물이 흥미 롭다면 웹 캐스트에 등록하여 참석하시기 바랍니다. 나는 그들의 대화가 항상 매혹적이고 유익하다는 것을 당신에게 확신시킬 수있다. 언제나처럼, 당신이 생각하는 것을 알려주세요.
John Ponte는 쓴 : Sandeep, 내 이전에 게시 된 링크 ... 존 폰테 쓴 :
Sandeep, 내 이전 답변에 게시 된 링크는 기술을 설명하는 비디오에 대한 링크입니다 ( https://www.youtube.com/watch?v=wSkUwgNbv2g ). 또한 JMP 파일 교환에서 도움이 될 JSL 코드를 찾을 수 있습니다. 스크립트 아래에서 ImageToDatatable.jsl 찾기 ( https://community.jmp.com/docs/DOC-6100 ). 그러면 이미지를 열고 픽셀 값에서 데이터 테이블을 생성하는 방법을 보여줍니다. 또는 이미지 분석기를 사용하여 데이터 표를 생성 할 수 있습니다 ( https://community.jmp.com/docs/DOC-7181 ).
BTW, 디스커버리 (2 주 안에 캐리, 노스 캐롤라이나)에 오신다면 제게 말씀해주십시오. 당신을 도울 수 있습니다. 개발자 워크 스테이션 에서뿐만 아니라 주위를 배회 할 것입니다.
Sandeep은 다음과 같이 썼습니다. John, 자습서 비디오가 있습니까? Sandeep 쓴 :
John,이 기술을 배우기 위해 내가 만든 튜토리얼 비디오가 있습니까?
John Ponte는 다음과 같이 적었습니다. 그런데 JMP는 YouTube 동영상을 발표했습니다 ... 존 폰테 쓴 :
그런데 JMP는 코끼리 발을 분석하는 과정을 설명하는 YouTube 동영상을 공개했습니다. 여기에는 프로세스에 대한 자세한 내용이 들어 있습니다. 흥미로운 내용을 발견 한 경우 동영상을 즐길 수도 있습니다.
그것은 여기에서 찾아 낼 수있다 : https://www.youtube.com/watch?v=wSkUwgNbv2g
즐겨!
John Ponte는 다음과 같이 썼습니다 : Rodrigo, JMP는 정규화 된 콜에서 작동합니다 ... 존 폰테 쓴 :
로드리고,
JMP는 정규화 된 색상 공간에서 작동합니다. 즉, 모든 값이 0.0과 1.0 사이에 있음을 의미합니다. 색조에 대한 배급을 보면 내 가치의 대부분이 0.125 이하임을 알 수 있습니다. 그러나 0.9 이상의 값도 있습니다. 그래서 저는 제 색깔을 구분하기 위해 어떤 가치를 찾아야하는지에 대한 아이디어를 얻었습니다.
JSL에서해야 할 일은 색조와 빛의 값을 보는 각 행 (픽셀을 나타냄)을 반복하는 것입니다. 귀하의 경우, 당신은 녹색, 노란색 및 갈색을 찾고있을 것입니다. 노란색과 갈색은 색조에 대해 매우 비슷한 값을 가지고 있는데, 그 이유는 두 색이 모두 같은 양의 빨강과 녹색으로 구성되어 있기 때문입니다. 그들은 그것의 밝기 또는이 경우 빛의 가치에 의해 구별됩니다. 노란색은 갈색보다 밝기가 더 높습니다. 녹색은 노란색과 갈색보다 색조 값이 높습니다. 따라서 색조와 밝기 값을 사용하면 색을 구분할 수 있습니다.
빛에 대한 배포판을보고, 당신이 3 개의 뚜렷한 그룹을 가지고 있는지 확인하십시오. 가장 높은 값은 아마도 노란색 픽셀이고, 가장 낮은 값은 아마도 갈색 픽셀이며 중간에있는 값은 아마도 녹색 픽셀입니다. 그것으로 시작해서 그것이 당신에게 옳은 대답을 주는지보십시오. 코끼리 발을 사용하여 답을 얻은 것과 같은 방법으로 새 이미지를 만들 수 있습니다. 올바른 대답을 얻지 못하면 비교에서 가치 범위를 조정할 수 있습니다.
이게 도움이 되길 바란다!
Rodrigo는 썼습니다. 친애하는 John, 나는 당신의 대본을 읽고 ... 로드리고 쓴 :
친애하는 요한,
귀하의 스크립트를 따라 H, L, S의 픽셀 값을 얻었습니다. 이제 각 픽셀을 처리하고 녹색, 노란색 및 갈색인지 알아야합니다. 내가 어떻게하는거야? 나는이 부분에서 길을 잃는다 : "내 배포판을보고, 내 데이터에서 어떤 픽셀이 갈색, 주황색인지 또는 흰색인지를 식별하기 위해 어떤 값을 찾아야하는지 잘 추측 할 수있다. 내 데이터 테이블의 데이터 행으로 표시된 각 픽셀을 처리하고 각 데이터를 분류 할 수 있습니다. 그런 다음 결과를보고 할 수 있습니다. "
모든 조언을 주시면 감사하겠습니다. 감사!
John Ponte는 다음과 같이 썼습니다. 나는 많은 것을 받는다 ... 존 폰테 쓴 :
한마디로 - 수동! 사람들이 이미지에서 관심 영역을 어떻게 식별 할 수 있는지 묻는 많은 이미지를받습니다. 불행히도 완벽한 솔루션을 개발하고 싶거나 필요로하는 시간을 할애 할 수 없습니다. 그래서 나는 그들이 어떻게 더 발전시킬 수 있을지에 대한 아이디어와 함께 그들에게 빠른 해결책을 주려고 노력합니다. 빠른 해결책은 단순히 다른 소프트웨어 패키지 (나는 Gimp를 사용)를 사용하여 백그라운드를 검게하는 것이 었습니다. 그러나 JMP / JSL에서는 코끼리 발의 가장자리를 식별 할 수있는 여러 가지 가장자리 감지 기술을 개발할 수 있습니다. 실제로 WildTrack에서 이미지의 동물 발자국을 확인한 일부 작업에서이 예를 보여주었습니다. 이에 대한 비디오는 다음에서 찾을 수 있습니다. http://www.youtube.com/watch?v=VjjcdCDXx9M
Scott은 썼습니다 : 위대한 일 John! 나는 JMP가 할 수 있다는 것에 놀랐다. 스콧 쓴 :
위대한 일 John! JMP가 이러한 다양한 애플리케이션에 사용될 수 있다는 사실에 놀랐습니다.
나는 당신이 어떻게 이미지의 배경을 제거했는지 궁금하다. 배경이 불규칙 할 때 어떻게 배경 픽셀을 식별 했습니까?
John Ponte는 다음과 같이 적었습니다. 존 폰테 쓴 :
글쎄, 우선 내가 전문가라는 신화를 풀어 보자! 비록 당신이 내 상사를 본다면, 당신이 그 사람에게 내가 당신이라고 생각한다고 말하도록 권장합니다. 그리고 그렇게 말하여 주셔서 감사합니다.
둘째, MATLAB에 익숙하지만 두 제품의 유효 비교를 위해 충분히 알고 있다고 느끼지는 않습니다. 나는 MATLAB을 사용하는 많은 JMP 사용자들과 대화를 나눴으며, 그들도 만족스러워 보인다. 그런 사용자들 (티저 경고)에 JMP 버전 11의 새로운 기능 중 일부를 체크 아웃해야한다.
통계 기능 외에도 JMP에서 내가 정말 좋아하는 기능 중 하나는 JMP의 스크립팅 언어 인 JSL입니다. 이 게시물은 이미지를 JMP로 가져와 JSL을 사용하여 데이터 테이블로 변환하는 방법을 보여줍니다. 데이터로 이미지를 얻으면 JMP의 모든 통계 능력을 사용할 수 있습니다. 이제 Discriminant Analysis 또는 Clustering을 사용하여 이미지를 분석 할 수 있습니다. 현재이 주제에 관한 책을 읽었습니다. 그것은 B. Brent Neal과 John C. Russ에 의한 Measuring Shape이라고 불린다. 따라서 이러한 기능들의 결합으로 JMP는 이미지 처리를위한 강력한 도구가되었습니다. 이를 통해 사용자는 기능을 실제로 구현하지 않고도 자신의 솔루션을 만들 수 있습니다.
amit bothra는 다음과 같이 썼다. 안녕하세요. 나는 놀랍다. 양면에 서다. 쓴 :
안녕 존,
위대한 게시물. 나는 JMP의 능력에 놀란다. 전문가로서 JMP의 이미지 프로세싱 기능과 Matlab과 같은 일부 전용 소프트웨어를 어떻게 비교할 것입니까?
Sky & Zoe는 다음과 같이 썼습니다. 이것은 분석의 좋은 예입니다 ... 스카이 & 조이 쓴 :
이것은 JMP의 분석력이 병리학 치료의 의사 결정을 개선하는 데 어떻게 사용될 수 있는지 보여주는 좋은 예입니다. 너무 많은 의학 이미징은 정량화가 아닌 전문가의 시각적 평가에 의존합니다.
이 응용 프로그램은 일단 정제되면 상처 치유가 시간 경과에 따라 (또는 다른 방식으로) 진행되는 방식에 대한 평가를 표준화하는 데 큰 도움이 될 수 있습니다. 존은 즉시 생각할 수있는 진정한 재능을 가지고 있으며, JMP 이미징을 위해 그가 수행하고있는 작업이 모든 분야에서 엄청난 응용이 될 것이라고 믿습니다.
John Ponte는 다음과 같이 적었습니다. 존 폰테 쓴 :
그 대답이 정상 약 50 %가 나왔을 때 나는 약간 놀랐다. 그러나 나쁜 영역 (오렌지색과 흰색)이 좋은 영역 (갈색)이 더 작은 섹션으로 표시되고 더 길고 잘못된 영역을 감싸는 큰 영역으로 나타남을 깨달았습니다. 나는 많은 작은 영역과 적은 영역을 볼 때 더 큰 영역이 더 커질 것이라는 인식을 가지고 있다고 생각합니다.
오류 계산은 좋은 생각입니다. 이것은 고객을위한 나의 빠른 (그러나 쓸모있는) 해결책이었다. 이 솔루션과 함께 내가 어떻게 향상 시킬지에 대한 아이디어를 많이주었습니다. 나는 모든 재미를 없애고 싶지 않았다.
의견에 감사드립니다!
Scott Moore는 다음과 같이 적었습니다. 몇 가지 생각. 전자 ... 스콧 무어 쓴 :
아주 멋지다. 몇 가지 생각. 눈은 패턴을 분석하는 데 꽤 좋습니다. 나는 갈색이 그림을 보면서 35 %에 가깝다 고 생각했을 것이다. 분석하기 전에 먼저 가설을 세우고 비교하면 흥미로울 것입니다. 나는 또한 어떤 종류의 오류 계산을보고 싶다. 아주 좋은 과정과 문제를 해결하는 좋은 방법.