def METHOD_NAME( ii, sc, sf, cr ):
    if   ( cr==1 ):
        numpts = 1
        idxmin = ii
    elif ( cr>=2 ):
        if   ( ii%cr==0 ):
           numpts = (1-sf)*(1-sc)+sf*sc
        elif ( ii%cr!=0 ):
           numpts = (1-sf)*(1-sc)+2*sf*sc
        idxmin = (ii//cr)*(1-sf)*(1-sc)+(ii//cr)*sf*sc
    weights = np.zeros( numpts )
    for ir in range( numpts ):
        i = idxmin+ir
        if   ( ii==iimin or ii==iimax ):
           weights[ir] = (1-sf)*(1-sc)+((abs(cr-abs(ii-i*cr)))/(cr)+(cr/2-0.5))*sf*sc
        else:
           weights[ir] = (1-sf)*(1-sc)+((abs(cr-abs(ii-i*cr)))/(cr))*sf*sc
    return [ numpts, idxmin, weights ]