;THIS PROGRAM ILLUSTRATES PHASE-I OF THE PROJECT. pro bse2 device , decomposed = 0 loadct , 0 file = filepath('bse2.tif' , $ subdirectory = ['idldata1']) imagesize =[1024,768] ;DIMENSIONS OF THE ORIGINAL IMAGE. image = read_image(file) ;THIS IS TO READ A IMAGE FILE. bordercolor = !d.table_size-1 topcolor = !d.table_size-1 tvlct ,255,0,0,topcolor ;TO EXTRACT RED COLOR. tvlct ,0,255,0,bordercolor image1 = REPLICATE(byte(bordercolor), imagesize[0]+24, imagesize[1]+24) image1[12,12] =image padDims = SIZE(image1, /DIMENSIONS) ;smallbone = rotate(image,7) ;smallbone = congrid(bone ,513,513) ;write_tiff, 'a.tif' ,image1 radius = 5.7 strucElem = SHIFT(DIST(2*radius+1), radius, radius) LE radius ;DEFINE STRUCTURING ELEMENT OF RADIUS 5.7 FOR MORPH OPERATION. padImg = REPLICATE(byte(bordercolor), imagesize[0]+24, imagesize[1]+24) padImg [12,12] = image ;write_tiff, 'a1.tif' ,padImg closeImg = MORPH_CLOSE(padImg, strucElem, /GRAY) ;MORPHOPEN OPERATION. ;write_tiff, 'a1.tif' ,closeImg ;WINDOW, 0, XSIZE = padDims[0], YSIZE = padDims[1], $ ;TITLE = "Morphopen BSE(2) Image" ;tv,closeImg ;write_tiff, 'morphededbse1.tif' , closeImg closeImg1 = bytscl(closeImg,top=topcolor-1) ;write_tiff, 'a2.tif' ,closeImg1 ; FOLLOWING FOR LOOP OS FOR THRESHOLDING. for i=0,1045 do begin for j= 0,791 do begin IF closeImg1[i,j] LE 55 THEN BEGIN closeImg1[i,j] = 255 END ELSE closeImg1[i,j] = 0 end end ;tv, closeImg1 ;write_tiff, 'morphedbse1.tif' , closeImg1 ;FOLLOWING FOR LOOP IS TO INSERT RED COLOR. for i=11,1047 do begin for j= 11,791 do begin IF closeImg1[i,j] EQ 255 THEN BEGIN closeImg1 [i,j] = topcolor END ;ELSE closeImg1[i,j] = 255 end end ;im = rotate(closeImg1 ,7) ;tv,im ;FOLLOWING FOR LOOP IS TO MERGE MORPHED IMAGE WITH THE ORIGINAL ONE for i=0,1047 do begin for j=0,791 do begin IF closeImg1[i,j] EQ topcolor THEN BEGIN image1 [i,j] = closeImg1[i,j] END END END ;FOLLOWING FOR LOOP IS TO REMOVE RED BOUNDARIES. for i=0,1047 do begin for j=0,791 do begin IF logical_or(i LT 12,j LT 12) THEN BEGIN image1[i,j] = 0 END IF logical_or(i GT 1035,j GT 779) THEN BEGIN image1[i,j] = 0 END END END WINDOW, 0, XSIZE=padDims[0], YSIZE=padDims[1], $ TITLE='ouput' im = rotate(image1,7) TV , im ;write_tiff, 'ouput.tif' , image1 ;TO WRITE FINAL OUTPUT IMAGE. END