1 /*****************************************************************************
2 Major portions of this software are copyrighted by the Medical College
3 of Wisconsin, 1994-2000, and are released under the Gnu General Public
4 License, Version 2. See the file README.Copyright for details.
5 ******************************************************************************/
6
7 #include "mrilib.h"
8
9 /* not 7D safe */
10
11 /*---------------------------------------------------------------------------------------
12 Extract images of size (nx,ny) from larger image im
13 -----------------------------------------------------------------------------------------*/
14
mri_uncat2D(int nx,int ny,MRI_IMAGE * im)15 MRI_IMARR * mri_uncat2D( int nx , int ny , MRI_IMAGE * im )
16 {
17 MRI_IMARR * imar ;
18 MRI_IMAGE * qim ;
19 int nxim , nyim , ii,jj,kk , kind ;
20
21 ENTRY("mri_uncat2D") ;
22
23 if( nx < 1 || ny < 1 || im == NULL ) RETURN(NULL) ;
24
25 kind = im->kind ;
26
27 nxim = im->nx / nx ;
28 nyim = im->ny / ny ;
29 if( nxim < 1 || nyim < 1 ) RETURN(NULL) ;
30
31 INIT_IMARR(imar) ;
32
33 for( jj=0 ; jj < nyim ; jj++ ){
34 for( ii=0 ; ii < nxim ; ii++ ){
35 qim = mri_cut_2D( im , ii*nx , (ii+1)*nx-1 , jj*ny , (jj+1)*ny-1 ) ;
36 if( qim != NULL ) ADDTO_IMARR(imar,qim) ;
37 else fprintf(stderr,"mri_uncat2D: NULL image error!\n") ;
38 }
39 }
40
41 RETURN(imar) ;
42 }
43