;THIS PROGRAM ILLUSTRATES PHASE-I OF THE PROJECT. pro bse1 device , decomposed = 0 loadct , 0 file = filepath('bse1.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 ,0,0,255, topcolor ;TO EXTRACT RED COLOR. tvlct ,255,0,0, bordercolor image1 = REPLICATE(byte(bordercolor), imagesize[0]+22, imagesize[1]+22) image1[11,11] =image padDims = SIZE(image1, /DIMENSIONS) ;smallbone = rotate(image,7) ;smallbone = congrid(bone ,513,513) ;write_tiff, 'a.tif' ,image1 radius = 5.5 strucElem = SHIFT(DIST(2*radius+1), radius, radius) LE radius ;DEFINE STRUCTURING ELEMENT OF RADIUS 5.5 FOR MORPH OPERATION. padImg = REPLICATE(byte(bordercolor), imagesize[0]+22, imagesize[1]+22) padImg [11,11] = 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,789 do begin IF closeImg1[i,j] LE 60 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=0,1045 do begin for j= 0,789 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,1045 do begin for j=0,789 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,1045 do begin for j=0,789 do begin IF logical_or(i LT 11,j LT 11) THEN BEGIN image1[i,j] = 0 END IF logical_or(i GT 1034,j GT 778) THEN BEGIN image1[i,j] = 0 END END END ;for i=11,1034 do begin ; for j=11,778 do begin ; image1[i-11,j-11]=image1[i,j] ;end ;end ;WINDOW, 0, XSIZE=padDims[0], YSIZE=padDims[1], $ ;TITLE='ouput' ;TV, image1 ; Your image with proper colors. ;void = tvread(/tiff, File='myimage') ;im = rotate(image1,7) ;TV , im write_tiff, 'mergedbse1.tif' , image1 ;TO WRITE FINAL OUTPUT IMAGE. END