Ejemplo n.º 1
0
 def test_newInstance_method(self):
     concept = Concept()
     concept.setDatatype(True)
     
     self.obsToCopy = Obs(Person(), concept, datetime.now(), Location())
     self.newObs = self.obs.newInstance(self.obsToCopy)
     self.assertFalse(self.newObs == self.obsToCopy)#both have None obsId
     self.assertIsNot(self.newObs, self.obsToCopy) 
     
     self.obsToCopy = Obs(9118)
     self.newObs = self.obs.newInstance(self.obsToCopy)
     self.assertFalse(self.newObs == self.obsToCopy)#newObs has None obsId but obsToCopy has an obsId
def FandTGen(N):
    #Constants and Parametres
    iterations_of_positions = 10000
    mean_length_list = [] #Empty List to be filled later
    origin = [0,0,0]
    


    #Empty lists to fill later
    number_list = []
    mean_mag_force_list = []
    mean_mag_torque_list = []
    summed_force_list = []
    summed_torque_list = []

    for i in range(iterations_of_positions):

        #more empty lists innit
        initial_force_list = []
        final_force_list = []
        torque_list = []

        for i in range(N): #This loop generates a sphere
            magnitude, vector = obs.RandSphere(N)
            initial_force_list.append(vector)

            #print(initial_force_list)

        transformed_v = obs.translation(vector, initial_force_list) #transforiming to get a nice graph

        for i in range(N):
            transformed_v[i] = transformed_v[i] / np.linalg.norm(transformed_v[i]) #literally for getting a nice graph


        alpha_list = [] #list for angles to the sphere

        for i in range(N):
            mtx,alpha = obs.fullrotation(transformed_v[i])
            final_force_list.append(mtx)
            alpha_list.append(alpha)


        summed_force_list.append(obs.forces(final_force_list))
        summed_torque_list.append(obs.torque(final_force_list, initial_force_list, N, torque_list))

        mean_mag_force_list.append(scipy.linalg.norm(obs.forces(final_force_list)))
        mean_mag_torque_list.append(scipy.linalg.norm(obs.torque(final_force_list, initial_force_list, N, torque_list)))


    mean_force = sum(mean_mag_force_list)/(iterations_of_positions)
    mean_torque = sum(mean_mag_torque_list)/(iterations_of_positions)

    return(mean_force, mean_torque, sum(summed_force_list)/iterations_of_positions, sum(summed_torque_list)/iterations_of_positions)
Ejemplo n.º 3
0
    def test_obs_group_methods(self):
        self.obs.setObsGroup(None)
        self.assertFalse(self.obs.hasGroupMembers())

        self.obs1 = Obs(127)
        self.obs2 = Obs(9827)
        concept = Concept()
        concept.setSet(True)
        self.obs.setConcept(concept)
        self.obs.setGroupMembers(set([self.obs1, self.obs2]))
        self.assertTrue(self.obs.getGroupMembers(True) != None)
        self.assertTrue(self.obs.getGroupMembers(False) != None)

        self.obs.addGroupMember(Obs(7543))
        self.obs.addGroupMember(self.obs)
        #self.assertRaises(APIException) #the line before should raise this exception

        self.obs.removeGroupMember(self.obs1)
        self.assertIsNone(self.obs1.getObsGroup())

        #self.obsToCopy should be parent group of obs members.  
        ret = self.obs.getRelatedObservations()
        for i in ret:
            self.assertFalse(i.isObsGrouping())
Ejemplo n.º 4
0
iterations_of_numbers = 8 #How many times we want to increase number of sperm
mean_length_list = [] #Empty List to be filled later
flagella_number_list = [] #Ditto
origin = [0,0,0]
N = 2
n_bins = 30 #Bins for the histogram plot

time1 = timeit.default_timer() #Timing The Loop

for i in range(iterations_of_numbers):

    vector_magnitude_list = []

    for i in range(iterations_of_postitions): #This loop generates the spheres

        magnitude, vector = Obs.RandSphere(N)
        vector_magnitude_list.append(magnitude)
        #print(str(vector_magnitude_list))
    N += 2 #How many the number of flagella increases by

    flagella_number_list.append(N)
    mean_length_list.append(Obs.mean_value(vector_magnitude_list, n_bins)) #Now we append the empty lists from before

#Finally, write to a file
for a,b in zip(mean_length_list,flagella_number_list):
    f.write("%s,%s\n" % (a,b))
f.close()

time2 = timeit.default_timer()
print("Time taken for code to run... in seconds :-  " + str(time2 - time1)) #Finish Timing The Loop
Ejemplo n.º 5
0
 def setUp(self):
     self.obs = Obs(913)
Ejemplo n.º 6
0
class TestObsFunctions(unittest.TestCase):

    def setUp(self):
        self.obs = Obs(913)
        
    def test_newInstance_method(self):
        concept = Concept()
        concept.setDatatype(True)
        
        self.obsToCopy = Obs(Person(), concept, datetime.now(), Location())
        self.newObs = self.obs.newInstance(self.obsToCopy)
        self.assertFalse(self.newObs == self.obsToCopy)#both have None obsId
        self.assertIsNot(self.newObs, self.obsToCopy) 
        
        self.obsToCopy = Obs(9118)
        self.newObs = self.obs.newInstance(self.obsToCopy)
        self.assertFalse(self.newObs == self.obsToCopy)#newObs has None obsId but obsToCopy has an obsId

    def test_obs_group_methods(self):
        self.obs.setObsGroup(None)
        self.assertFalse(self.obs.hasGroupMembers())

        self.obs1 = Obs(127)
        self.obs2 = Obs(9827)
        concept = Concept()
        concept.setSet(True)
        self.obs.setConcept(concept)
        self.obs.setGroupMembers(set([self.obs1, self.obs2]))
        self.assertTrue(self.obs.getGroupMembers(True) != None)
        self.assertTrue(self.obs.getGroupMembers(False) != None)

        self.obs.addGroupMember(Obs(7543))
        self.obs.addGroupMember(self.obs)
        #self.assertRaises(APIException) #the line before should raise this exception

        self.obs.removeGroupMember(self.obs1)
        self.assertIsNone(self.obs1.getObsGroup())

        #self.obsToCopy should be parent group of obs members.  
        ret = self.obs.getRelatedObservations()
        for i in ret:
            self.assertFalse(i.isObsGrouping())
            
    def test_value_methods(self):
        self.obs.setValueBoolean(True)
        #self.assertIsNotNone(self.obs.getValueCoded())

        self.obs.setValueNumeric(1)
        self.assertTrue(self.obs.getValueAsBoolean())

        self.obs.setValueNumeric(0)
        self.assertFalse(self.obs.getValueAsBoolean())

        self.assertFalse(self.obs.isComplex())
        
        self.obs.setValueAsString("True")
        #self.assertTrue(self.obs.getValueAsString())

        concept1 = Concept()
        concept1.setDatatype(ConceptDatatype(13))
        self.obs.setConcept(concept1)
        self.obs.getConcept().getDatatype().setHl7Abbreviation("NM")
        self.obs.setValueAsString("13")
Ejemplo n.º 7
0
    print(str(N / (2 + iterations_of_number_increase)))

    summed_force_list = []
    summed_torque_list = []
    mean_mag_force_list = []
    mean_mag_torque_list = []

    for i in range(iterations_of_positions):

        initial_force_list = []
        final_force_list = []
        torque_list = []

        for i in range(N):  #This loop generates a sphere

            magnitude, vector = obs.RandSphere(N)
            initial_force_list.append(vector)

        #print(initial_force_list)

        transformed_v = obs.translation(
            vector, initial_force_list)  #transforiming to get a nice graph

        for i in range(N):
            transformed_v[i] = transformed_v[i] / np.linalg.norm(
                transformed_v[i])  #literally for getting a nice graph

        alpha_list = []  #list for angles to the sphere

        for i in range(N):
            mtx, alpha = obs.fullrotation(transformed_v[i])